Re: Is the Ada run-time required to detect out-of-memory conditions?

From: Robert I. Eachus (rieachus_at_comcast.net)
Date: 05/21/04


Date: Fri, 21 May 2004 12:00:47 -0400

Martin Krischik wrote:

> Just a thought: The page size on Intel CPU's is 4 kb. So most OS's on Intel
> CPU will only handle memory requests of at least one page.
>
> I find it interesting that with request significantly larger then one page
> everything seems Ok.
>
> Lets Think: With GNAT allocation from the standart storrage pool are just
> passed down to C's malloc ().
>
> When smaller memory is requested most C compiler will bundele several
> requests into one page request.
>
> When larger memory is requested some C compiler will just pass the request
> on to the OS and some other will allways bundle.

This is interesting. It sounds like almost the opposite of what I
expected. Apparently if the memory requests are large enough that some
pages are left virtual, you get the Storage_Error. But if the code
results in every page allocated being 'touched' you get killed.

But this discovery definitely indicates it is some code in malloc that
is skipping a necessary check, and that the error is not in the GNAT
runtime.

-- 
                                           Robert I. Eachus
"The terrorists rejoice in the killing of the innocent, and have 
promised similar violence against Americans, against all free peoples, 
and against any Muslims who reject their ideology of murder. Their 
barbarism cannot be appeased, and their hatred cannot be satisfied. 
There's only one way to deal with terror: We must confront the enemy and 
stay on the offensive until these killers are defeated." -- George W. Bush


Relevant Pages

  • Re: Structure of large link libraries in f95
    ... I cited LAPACK as an example that might be of general interest, ... which LAPACK90 shows just how ugly option 2 can get. ... It isn't intrinsically hard to do, but Sun's compiler ... the requests for compile-to-archive stopped, ...
    (comp.lang.fortran)
  • Re: C++ in KMDF
    ... compiler that generates safe drivers ... represent merely a puny squeak amid the vast din of feature requests from ... There is a wall between the compiler teams and the DDK teams. ...
    (microsoft.public.development.device.drivers)
  • Re: Save statement
    ... that the compiler choose a fixed address for the variable's memory, ... AUTOMATIC requests that the variable be allocated to storage that is ... heap memory that gets deallocated on routine exit. ... It is true that this is usually implemented using static allocation, ...
    (comp.lang.fortran)
  • Re: non-functional backout for review
    ... Compiler gives almost identical code for old and ... New one (requests for backout) ... I will use a version which compiler can generate optimized code. ...
    (freebsd-current)