Tomas Hajny | 26 Jan 2006 14:15
Picon

Re: "to do" things for WDsibyl

Martin Vieregg wrote:

Hello,

 .
 .
> Then for the hardcore programmers, there's the need of reprogramming the
> getmem and freemem procedures in system.pas or fixing the old code (a lot
 .
 .
> The freepascal.org compiler has this sources, but they are very
> complicated because of a great number of supported OS. Perhaps we could
> catch the code from Gnu C.

Actually, the main reasons for complexity of the FPC heap manager aren't
related to the number of supported platforms (there's no platform specific
code within the heap manager at all, AFAIK).

First of all, a heap manager is always a complex thing, and an efficient
one even more. Furthermore, there are always trade-offs between speed and
long-term memory usage (especially important for permanently running
processes like servers/daemons). Finally, there are inter-operability
issues resulting from a need to combine code created with different
compilers (e.g. using libraries written in C or whatever other language).
FPC heap manager tries to address all these issues (with not so bad
results, I'd say ;-) ), and _that_ is the main source of complexity.

Let's start with the last two points: FPC heap manager is pluggable - you
can supply your own if it conforms to the specification. This addresses
both the inter-operability (you can use heap manager provided with some C
(Continue reading)


Gmane