[fpc-devel] TList slowness in classes

Michael Van Canneyt michael.vancanneyt at wisa.be
Fri Dec 24 12:13:15 CET 2004



On Fri, 24 Dec 2004, Mattias Gaertner wrote:

> On Fri, 24 Dec 2004 11:49:10 +0100 (W. Europe Standard Time)
> Michael Van Canneyt <michael.vancanneyt at wisa.be> wrote:
>
> >
> >
> > On Fri, 24 Dec 2004, Mattias Gaertner wrote:
> >
> > > On Fri, 24 Dec 2004 10:56:24 +0100 (W. Europe Standard Time)
> > > Michael Van Canneyt <michael.vancanneyt at wisa.be> wrote:
> > >
> > > > > If the answer is yes, then maybe it's safe to compile parts of FPC
> > > > > sources in lists.inc (like TList.Get) inside {$IMPLICITEXCEPTIONS OFF} ?
> > >
> > > Why not put it into a sub proc:
> > >
> > > function TList.Get(Index: Integer): Pointer;
> > >
> > >   procedure RaiseIndexError;
> > >   begin
> > >     Error(SListIndexError,Index);
> > >   end;
> > >
> > > begin
> > >   If (Index<0) or (Index>=FCount) then
> > >     RaiseIndexError;
> > >   Result:=FList^[Index];
> > > end;
> > >
> >
> > The compiler detects that the sub can raise an exception.
>
> And creates the implicit exception frame only in RaiseIndexError.

I have changed the procedure.

Michael.




More information about the fpc-devel mailing list