[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