* moved field definitions before method/property definitions (see mantis

#13971)

git-svn-id: trunk@13330 -
This commit is contained in:
Jonas Maebe 2009-06-27 11:27:31 +00:00
parent c62d6f9a0b
commit 1f6ec379de
20 changed files with 56 additions and 49 deletions

View File

@ -36,6 +36,10 @@ Unit aoptda;
TAOptDFA = class TAOptDFA = class
{ uses the same constructor as TAoptCpu = constructor from TAoptObj } { uses the same constructor as TAoptCpu = constructor from TAoptObj }
{ How many instructions are between the current instruction and the }
{ last one that modified the register }
InstrSinceLastMod: TInstrSinceLastMod;
{ gathers the information regarding the contents of every register } { gathers the information regarding the contents of every register }
{ at the end of every instruction } { at the end of every instruction }
Procedure DoDFA; Procedure DoDFA;
@ -43,10 +47,6 @@ Unit aoptda;
{ handles the processor dependent dataflow analizing } { handles the processor dependent dataflow analizing }
Procedure CpuDFA(p: PInstr); Virtual; Abstract; Procedure CpuDFA(p: PInstr); Virtual; Abstract;
{ How many instructions are between the current instruction and the }
{ last one that modified the register }
InstrSinceLastMod: TInstrSinceLastMod;
{ convert a TInsChange value into the corresponding register } { convert a TInsChange value into the corresponding register }
//!!!!!!!!!! Function TCh2Reg(Ch: TInsChange): TRegister; Virtual; //!!!!!!!!!! Function TCh2Reg(Ch: TInsChange): TRegister; Virtual;
{ returns whether the instruction P reads from register Reg } { returns whether the instruction P reads from register Reg }

View File

@ -218,13 +218,6 @@ type
function getlabelwithsym(sym: tasmlabel): tai; function getlabelwithsym(sym: tasmlabel): tai;
private private
{ Walks through the list to find the lowest and highest label number, inits the }
{ labeltable and fixes/optimizes some regallocs }
procedure initlabeltable;
function initdfapass2: boolean;
procedure dodfapass2;
{ asm list we're working on } { asm list we're working on }
list: TAsmList; list: TAsmList;
@ -240,6 +233,13 @@ type
{ all labels in the current block: their value mapped to their location } { all labels in the current block: their value mapped to their location }
lolab, hilab, labdif: longint; lolab, hilab, labdif: longint;
labeltable: plabeltable; labeltable: plabeltable;
{ Walks through the list to find the lowest and highest label number, inits the }
{ labeltable and fixes/optimizes some regallocs }
procedure initlabeltable;
function initdfapass2: boolean;
procedure dodfapass2;
end; end;

View File

@ -100,12 +100,12 @@ interface
procedure PrintLinkerScript; procedure PrintLinkerScript;
function RunLinkScript(const outputname:TCmdStr):boolean; function RunLinkScript(const outputname:TCmdStr):boolean;
protected protected
linkscript : TCmdStrList;
property CObjInput:TObjInputClass read FCObjInput write FCObjInput; property CObjInput:TObjInputClass read FCObjInput write FCObjInput;
property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput; property CExeOutput:TExeOutputClass read FCExeOutput write FCExeOutput;
property StaticLibraryList:TFPHashObjectList read FStaticLibraryList; property StaticLibraryList:TFPHashObjectList read FStaticLibraryList;
property ImportLibraryList:TFPHashObjectList read FImportLibraryList; property ImportLibraryList:TFPHashObjectList read FImportLibraryList;
procedure DefaultLinkScript;virtual;abstract; procedure DefaultLinkScript;virtual;abstract;
linkscript : TCmdStrList;
public public
IsSharedLibrary : boolean; IsSharedLibrary : boolean;
Constructor Create;override; Constructor Create;override;

View File

@ -75,6 +75,7 @@ interface
procedure register_created_object_types; procedure register_created_object_types;
private
{ inlining support } { inlining support }
inlinelocals : TFPObjectList; inlinelocals : TFPObjectList;
inlineinitstatement, inlineinitstatement,

View File

@ -31,10 +31,10 @@ interface
type type
tcgwhilerepeatnode = class(twhilerepeatnode) tcgwhilerepeatnode = class(twhilerepeatnode)
usedregvars: tusedregvars;
procedure pass_generate_code;override; procedure pass_generate_code;override;
procedure sync_regvars(checkusedregvars: boolean); procedure sync_regvars(checkusedregvars: boolean);
usedregvars: tusedregvars;
end; end;
tcgifnode = class(tifnode) tcgifnode = class(tifnode)
@ -42,10 +42,10 @@ interface
end; end;
tcgfornode = class(tfornode) tcgfornode = class(tfornode)
usedregvars: tusedregvars;
procedure pass_generate_code;override; procedure pass_generate_code;override;
procedure sync_regvars(checkusedregvars: boolean); procedure sync_regvars(checkusedregvars: boolean);
usedregvars: tusedregvars;
end; end;
tcgexitnode = class(texitnode) tcgexitnode = class(texitnode)

View File

@ -189,13 +189,13 @@ interface
ttypeconvnodeclass = class of ttypeconvnode; ttypeconvnodeclass = class of ttypeconvnode;
tasnode = class(tbinarynode) tasnode = class(tbinarynode)
call: tnode;
constructor create(l,r : tnode);virtual; constructor create(l,r : tnode);virtual;
function pass_1 : tnode;override; function pass_1 : tnode;override;
function pass_typecheck:tnode;override; function pass_typecheck:tnode;override;
function dogetcopy: tnode;override; function dogetcopy: tnode;override;
function docompare(p: tnode): boolean; override; function docompare(p: tnode): boolean; override;
destructor destroy; override; destructor destroy; override;
call: tnode;
end; end;
tasnodeclass = class of tasnode; tasnodeclass = class of tasnode;

View File

@ -41,11 +41,12 @@ interface
procedure WriteExternals; procedure WriteExternals;
procedure WriteAsmFileHeader; procedure WriteAsmFileHeader;
private private
cur_CSECT_name: String;
cur_CSECT_class: String;
procedure WriteInstruction(hp : tai); procedure WriteInstruction(hp : tai);
procedure WriteProcedureHeader(var hp:tai); procedure WriteProcedureHeader(var hp:tai);
procedure WriteDataHeader(var s:string; isExported, isConst:boolean); procedure WriteDataHeader(var s:string; isExported, isConst:boolean);
cur_CSECT_name: String;
cur_CSECT_class: String;
end; end;

View File

@ -47,10 +47,11 @@ unit cpupi;
private private
first_save_int_reg, first_save_fpu_reg: tsuperregister; first_save_int_reg, first_save_fpu_reg: tsuperregister;
public public
needs_frame_pointer: boolean;
property get_first_save_int_reg: tsuperregister read first_save_int_reg; property get_first_save_int_reg: tsuperregister read first_save_int_reg;
property get_first_save_fpu_reg: tsuperregister read first_save_fpu_reg; property get_first_save_fpu_reg: tsuperregister read first_save_fpu_reg;
needs_frame_pointer: boolean;
end; end;

View File

@ -37,13 +37,14 @@ type
{ offset where the frame pointer from the outer procedure is stored. } { offset where the frame pointer from the outer procedure is stored. }
parent_framepointer_offset: longint; parent_framepointer_offset: longint;
needs_frame_pointer : boolean;
constructor create(aparent: tprocinfo); override; constructor create(aparent: tprocinfo); override;
procedure set_first_temp_offset; override; procedure set_first_temp_offset; override;
function calc_stackframe_size: longint; override; function calc_stackframe_size: longint; override;
function calc_stackframe_size(numgpr, numfpr : longint): longint; function calc_stackframe_size(numgpr, numfpr : longint): longint;
needs_frame_pointer : boolean;
procedure allocate_got_register(list: TAsmList); override; procedure allocate_got_register(list: TAsmList); override;
end; end;

View File

@ -137,9 +137,10 @@ interface
callback:Tnotification_callback):cardinal; callback:Tnotification_callback):cardinal;
procedure unregister_notification(id:cardinal); procedure unregister_notification(id:cardinal);
private private
procedure setvardef(def:tdef);
_vardef : tdef; _vardef : tdef;
vardefderef : tderef; vardefderef : tderef;
procedure setvardef(def:tdef);
public public
property vardef: tdef read _vardef write setvardef; property vardef: tdef read _vardef write setvardef;
end; end;

View File

@ -91,12 +91,11 @@ interface
procedure insertdef(def:TDefEntry);override; procedure insertdef(def:TDefEntry);override;
function is_packed: boolean; function is_packed: boolean;
protected protected
procedure setdatasize(val: aint);
_datasize : aint; _datasize : aint;
{ size in bits of the data in case of bitpacked record. Only important during construction, } { size in bits of the data in case of bitpacked record. Only important during construction, }
{ no need to save in/restore from ppu file. datasize is always (databitsize+7) div 8. } { no need to save in/restore from ppu file. datasize is always (databitsize+7) div 8. }
databitsize : aint; databitsize : aint;
{ bitpacked? -> all fieldvarsym offsets are in bits instead of bytes } procedure setdatasize(val: aint);
public public
property datasize : aint read _datasize write setdatasize; property datasize : aint read _datasize write setdatasize;
end; end;

View File

@ -71,8 +71,8 @@ type
private private
Root : PColHashMainNode; Root : PColHashMainNode;
AllIntegers : boolean; AllIntegers : boolean;
procedure FreeAllData;
FCount : longword; FCount : longword;
procedure FreeAllData;
function AllocateMainNode : PColHashMainNode; function AllocateMainNode : PColHashMainNode;
function AllocateSubNode : PColHashSubNode; function AllocateSubNode : PColHashSubNode;
procedure DeallocateLinkedList(node : PColHashSubNode); procedure DeallocateLinkedList(node : PColHashSubNode);

View File

@ -32,7 +32,6 @@ uses FPImage, classes, sysutils, BMPcomn;
type type
TFPReaderBMP = class (TFPCustomImageReader) TFPReaderBMP = class (TFPCustomImageReader)
Private Private
Procedure FreeBufs; // Free (and nil) buffers.
DeltaX, DeltaY : integer; // Used for the never-used delta option in RLE DeltaX, DeltaY : integer; // Used for the never-used delta option in RLE
TopDown : boolean; // If set, bitmap is stored top down instead of bottom up TopDown : boolean; // If set, bitmap is stored top down instead of bottom up
continue : boolean; // needed for onprogress event continue : boolean; // needed for onprogress event
@ -40,6 +39,7 @@ type
percentinterval : longword; percentinterval : longword;
percentacc : longword; percentacc : longword;
Rect : TRect; Rect : TRect;
Procedure FreeBufs; // Free (and nil) buffers.
protected protected
ReadSize : Integer; // Size (in bytes) of 1 scanline. ReadSize : Integer; // Size (in bytes) of 1 scanline.
BFI : TBitMapInfoHeader; // The header as read from the stream. BFI : TBitMapInfoHeader; // The header as read from the stream.

View File

@ -47,11 +47,11 @@ type
end; end;
TRPCList = class TRPCList = class
ServerClasses: TList;
UsedModules: TStringList;
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
procedure AddServerClass(const AClassName: String); procedure AddServerClass(const AClassName: String);
ServerClasses: TList;
UsedModules: TStringList;
end; end;
var var

View File

@ -109,10 +109,10 @@ type
TInetServer = Class(TSocketServer) TInetServer = Class(TSocketServer)
Protected Protected
FAddr : TINetSockAddr; FAddr : TINetSockAddr;
Function SockToStream (ASocket : Longint) : TSocketStream;Override;
Function Accept : Longint;override;
FPort : Word; FPort : Word;
FHost: string; FHost: string;
Function SockToStream (ASocket : Longint) : TSocketStream;Override;
Function Accept : Longint;override;
Public Public
Procedure Bind; Override; Procedure Bind; Override;
Constructor Create(APort: Word); Constructor Create(APort: Word);

View File

@ -385,11 +385,12 @@ type
TXPathContext = class TXPathContext = class
public public
constructor Create(AContextNode: TDOMNode;
AContextPosition, AContextSize: Integer);
ContextNode: TDOMNode; ContextNode: TDOMNode;
ContextPosition: Integer; ContextPosition: Integer;
ContextSize: Integer; ContextSize: Integer;
constructor Create(AContextNode: TDOMNode;
AContextPosition, AContextSize: Integer);
end; end;

View File

@ -606,9 +606,9 @@ TYPE
Protected Protected
procedure CreateGtkObject; override; procedure CreateGtkObject; override;
Public Public
function TheGtkObject : PGtkImage;
FMask:PGdkBitMap; FMask:PGdkBitMap;
FImage:PGdkImage; FImage:PGdkImage;
function TheGtkObject : PGtkImage;
property Image : PGdkImage read GetImageProp write SetImageProp; property Image : PGdkImage read GetImageProp write SetImageProp;
property Mask : PGdkBitMap read GetMask write SetMask; property Mask : PGdkBitMap read GetMask write SetMask;
procedure SetImage (anImage:PGdkImage; aMask:PGdkBitmap); procedure SetImage (anImage:PGdkImage; aMask:PGdkBitmap);
@ -629,9 +629,9 @@ TYPE
Protected Protected
procedure CreateGtkObject; override; procedure CreateGtkObject; override;
Public Public
function TheGtkObject : PGtkPixmap;
FMask:PGdkBitMap; FMask:PGdkBitMap;
FPixMap:PGdkPixmap; FPixMap:PGdkPixmap;
function TheGtkObject : PGtkPixmap;
property BuildInsensitive : longbool read GetBuildInsensitive write SetBuildInsensitive; property BuildInsensitive : longbool read GetBuildInsensitive write SetBuildInsensitive;
constructor Create; constructor Create;
constructor CreateFromFile (Filename:string; Window:TFPgtkWidget); constructor CreateFromFile (Filename:string; Window:TFPgtkWidget);
@ -655,8 +655,8 @@ TYPE
procedure SetBorder (TheValue : integer); procedure SetBorder (TheValue : integer);
function GetChildren : TFPgtkWidgetGroup; function GetChildren : TFPgtkWidgetGroup;
Public Public
function TheGtkObject : PGtkContainer;
FChildren:TFPgtkWidgetGroup; FChildren:TFPgtkWidgetGroup;
function TheGtkObject : PGtkContainer;
property Border : integer read GetBorder write SetBorder; property Border : integer read GetBorder write SetBorder;
procedure Add (AWidget:TFPgtkWidget; IsVisible:boolean); Overload; procedure Add (AWidget:TFPgtkWidget; IsVisible:boolean); Overload;
procedure Add (AWidget:TFPgtkWidget); Overload; procedure Add (AWidget:TFPgtkWidget); Overload;
@ -802,8 +802,8 @@ TYPE
Protected Protected
procedure CreateGtkObject; Override; procedure CreateGtkObject; Override;
Public Public
function TheGtkObject : PGtkRadioButton;
FGroup:TFPgtkRadioButtonGroup; FGroup:TFPgtkRadioButtonGroup;
function TheGtkObject : PGtkRadioButton;
constructor Create (AGroup:TFPgtkRadioButtonGroup); constructor Create (AGroup:TFPgtkRadioButtonGroup);
constructor CreateWithLabel (AGroup:TFPgtkRadioButtonGroup; aText:string); constructor CreateWithLabel (AGroup:TFPgtkRadioButtonGroup; aText:string);
end; end;
@ -1957,8 +1957,8 @@ TYPE
procedure GtkInsert (MenuItem:TFPgtkWidget; position:integer); Override; procedure GtkInsert (MenuItem:TFPgtkWidget; position:integer); Override;
procedure GtkAppend (MenuItem:TFPgtkWidget); Override; procedure GtkAppend (MenuItem:TFPgtkWidget); Override;
Public Public
function TheGtkObject : PGtkMenu;
FDetacher:TFPgtkMenuDetachFunction; FDetacher:TFPgtkMenuDetachFunction;
function TheGtkObject : PGtkMenu;
procedure ReorderChild (MenuItem:TFPgtkWidget; position:integer); procedure ReorderChild (MenuItem:TFPgtkWidget; position:integer);
procedure Popup (button:guint); Overload; procedure Popup (button:guint); Overload;
procedure Popup (ParentShell:TFPgtkWidget; ParentItem:TFPgtkWidget; func:TFPgtkMenuPosFunction; data:pointer; button:guint; ActivateTime:guint32); Overload; procedure Popup (ParentShell:TFPgtkWidget; ParentItem:TFPgtkWidget; func:TFPgtkMenuPosFunction; data:pointer; button:guint; ActivateTime:guint32); Overload;

View File

@ -262,6 +262,12 @@ type
CurModule: TPasModule; CurModule: TPasModule;
CurPackageDocNode: TDocNode; CurPackageDocNode: TDocNode;
public public
Output: String;
HasContentFile: Boolean;
HidePrivate: Boolean; // Hide private class members in output?
HideProtected: Boolean; // Hide protected class members in output?
WarnNoNode : Boolean; // Warn if no description node found for element.
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
procedure SetPackageName(const APackageName: String); procedure SetPackageName(const APackageName: String);
@ -295,12 +301,6 @@ type
property RootLinkNode: TLinkNode read FRootLinkNode; property RootLinkNode: TLinkNode read FRootLinkNode;
property RootDocNode: TDocNode read FRootDocNode; property RootDocNode: TDocNode read FRootDocNode;
property Package: TPasPackage read FPackage; property Package: TPasPackage read FPackage;
Output: String;
HasContentFile: Boolean;
HidePrivate: Boolean; // Hide private class members in output?
HideProtected: Boolean; // Hide protected class members in output?
WarnNoNode : Boolean; // Warn if no description node found for element.
end; end;

View File

@ -90,7 +90,6 @@ type
procedure SetOnTest(const AValue: TNotifyEvent); procedure SetOnTest(const AValue: TNotifyEvent);
protected protected
FAllocator: TFileAllocator; FAllocator: TFileAllocator;
Procedure CreateAllocator; virtual;
CurDirectory: String; // relative to curdir of process CurDirectory: String; // relative to curdir of process
BaseDirectory: String; // relative path to package base directory BaseDirectory: String; // relative path to package base directory
PageInfos: TObjectList; // list of TPageInfo objects PageInfos: TObjectList; // list of TPageInfo objects
@ -111,6 +110,8 @@ type
FIndexColCount : Integer; FIndexColCount : Integer;
FSearchPage : String; FSearchPage : String;
FBaseImageURL : String; FBaseImageURL : String;
Procedure CreateAllocator; virtual;
function ResolveLinkID(const Name: String): DOMString; function ResolveLinkID(const Name: String): DOMString;
function ResolveLinkIDInUnit(const Name,UnitName: String): DOMString; function ResolveLinkIDInUnit(const Name,UnitName: String): DOMString;
function ResolveLinkWithinPackage(AElement: TPasElement; function ResolveLinkWithinPackage(AElement: TPasElement;
@ -423,10 +424,11 @@ Type
{ TLinkData } { TLinkData }
TLinkData = Class(TObject) TLinkData = Class(TObject)
Constructor Create(Const APathName,ALink,AModuleName : string);
FPathName, FPathName,
FLink, FLink,
FModuleName : String; FModuleName : String;
Constructor Create(Const APathName,ALink,AModuleName : string);
end; end;
{ TLinkData } { TLinkData }

View File

@ -55,12 +55,12 @@ type
// Phony element for pas pages. // Phony element for pas pages.
TTopicElement = Class(TPaselement) TTopicElement = Class(TPaselement)
Constructor Create(const AName: String; AParent: TPasElement); override;
Destructor Destroy; override;
TopicNode : TDocNode; TopicNode : TDocNode;
Previous, Previous,
Next : TPasElement; Next : TPasElement;
Subtopics : TList; Subtopics : TList;
Constructor Create(const AName: String; AParent: TPasElement); override;
Destructor Destroy; override;
end; end;
{ TFPDocWriter } { TFPDocWriter }