Ravenscar and portability - ADA

This is a discussion on Ravenscar and portability - ADA ; The Ravenscar profile contains the No_Implicit_Heap_Allocations constraint. The problem is that the operations that might require implicit heap allocation are implementation-defined. This means that programs can be declared as Ravenscar-compliant *only* in the context of some chosen Ada implementation. Is ...

+ Reply to Thread
Results 1 to 3 of 3

Ravenscar and portability

  1. Default Ravenscar and portability

    The Ravenscar profile contains the No_Implicit_Heap_Allocations
    constraint.

    The problem is that the operations that might require implicit heap
    allocation are implementation-defined. This means that programs can be
    declared as Ravenscar-compliant *only* in the context of some chosen
    Ada implementation.

    Is that right?

    --
    Maciej Sobczak
    http://www.msobczak.com/


  2. Default Re: Ravenscar and portability

    Maciej Sobczak <see.my.homepage@gmail.com> writes:

    > The Ravenscar profile contains the No_Implicit_Heap_Allocations
    > constraint.
    >
    > The problem is that the operations that might require implicit heap
    > allocation are implementation-defined. This means that programs can be
    > declared as Ravenscar-compliant *only* in the context of some chosen
    > Ada implementation.
    >
    > Is that right?


    Yes. But in practise, most implementations are pretty uniform in this
    regard, so it's pretty portable.

    I believe all of Ada's features, excluding some predefined library
    units, can be implemented without implicit heap allocation.

    But I'm not even sure how to precisely define "implicit heap
    allocation".

    The Strings.Unbounded does heap allocation. Is it "implicit"?

    - Bob


  3. Default Re: Ravenscar and portability

    On 31 Sie, 01:08, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:

    > > The Ravenscar profile contains the No_Implicit_Heap_Allocations
    > > constraint.

    >
    > > The problem is that the operations that might require implicit heap
    > > allocation are implementation-defined. This means that programs can be
    > > declared as Ravenscar-compliant *only* in the context of some chosen
    > > Ada implementation.


    > I believe all of Ada's features, excluding some predefined library
    > units, can be implemented without implicit heap allocation.


    What about unconstrained types? Indeed, basic use cases can be
    implemented on the stack, but I might be missing something less
    obvious.

    > But I'm not even sure how to precisely define "implicit heap
    > allocation".


    Good question, but I was not around when Ravenscar was defined...

    > The Strings.Unbounded does heap allocation. Is it "implicit"?


    I would say yes, because the usage of heap is not stated in the
    standard. It might be a common implementation practice and there might
    even be no other choice, but it is not stated.

    --
    Maciej Sobczak
    http://www.msobczak.com/


+ Reply to Thread

Similar Threads

  1. Blocking I/O and Ravenscar
    By Application Development in forum ADA
    Replies: 7
    Last Post: 09-24-2007, 08:59 AM
  2. Ravenscar and run-time program parameters
    By Application Development in forum ADA
    Replies: 11
    Last Post: 09-03-2007, 04:29 AM
  3. RTAI and Ravenscar
    By Application Development in forum ADA
    Replies: 0
    Last Post: 06-24-2007, 12:38 AM
  4. Ravenscar - program termination
    By Application Development in forum ADA
    Replies: 13
    Last Post: 01-31-2007, 01:02 PM
  5. Ravenscar and ADA
    By Application Development in forum ADA
    Replies: 2
    Last Post: 01-06-2007, 07:45 AM