mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-16 04:50:51 +01:00
amunits, arosunits, morphunits: don't pass the calculated object address through a local var in OCLASS, it's not needed really. also allow inlining of the macros. this results in better code generated
git-svn-id: trunk@32703 -
This commit is contained in:
parent
5d7b08d28f
commit
c10272d879
@ -4189,9 +4189,9 @@ PROCEDURE ZipWindow(window : pWindow location 'a0'); syscall _IntuitionBase 504;
|
||||
function INST_DATA (cl: pIClass; o: p_Object): Pointer;
|
||||
function SIZEOF_INSTANCE (cl: pIClass): Longint;
|
||||
function BASEOBJECT (o: p_Object): Pointer;
|
||||
function _OBJ(o: p_Object): p_Object;
|
||||
function __OBJECT (o: Pointer): p_Object;
|
||||
function OCLASS (o: Pointer): pIClass;
|
||||
function _OBJ(o: p_Object): p_Object; inline;
|
||||
function __OBJECT (o: Pointer): p_Object; inline;
|
||||
function OCLASS (o: Pointer): pIClass; inline;
|
||||
function SHIFTITEM (n: smallint): word;
|
||||
function SHIFTMENU (n: smallint): word;
|
||||
function SHIFTSUB (n: smallint): word;
|
||||
@ -4243,11 +4243,8 @@ begin
|
||||
end;
|
||||
|
||||
function OCLASS (o: Pointer): pIClass; inline;
|
||||
var
|
||||
obj: p_Object;
|
||||
begin
|
||||
obj := p_Object(Longint(o) - sizeof(t_Object));
|
||||
OCLASS := obj^.o_Class;
|
||||
OCLASS := p_Object(o - sizeof(t_Object))^.o_Class;
|
||||
end;
|
||||
|
||||
function SHIFTITEM (n: smallint): word; inline;
|
||||
|
||||
@ -3367,9 +3367,9 @@ function Is_Children(Win: PWindow): Boolean;
|
||||
function INST_DATA(Cl: PIClass; O: P_Object): Pointer;
|
||||
function SIZEOF_INSTANCE(Cl: PIClass): LongInt;
|
||||
function BASEOBJECT(O: P_Object): Pointer;
|
||||
function _OBJ(O: Pointer): P_Object;
|
||||
function __OBJECT(O: Pointer): P_Object;
|
||||
function OCLASS(O: Pointer): PIClass;
|
||||
function _OBJ(O: Pointer): P_Object; inline;
|
||||
function __OBJECT(O: Pointer): P_Object; inline;
|
||||
function OCLASS(O: Pointer): PIClass; inline;
|
||||
function SHIFTITEM(N: SmallInt): Word;
|
||||
function SHIFTMENU(N: SmallInt): Word;
|
||||
function SHIFTSUB(N: SmallInt): Word;
|
||||
@ -3567,22 +3567,19 @@ begin
|
||||
BASEOBJECT := Pointer(PtrUInt(O) + SizeOf(T_Object));
|
||||
end;
|
||||
|
||||
function _OBJ(O: Pointer): P_Object;
|
||||
function _OBJ(O: Pointer): P_Object; inline;
|
||||
begin
|
||||
_OBJ := P_Object(O);
|
||||
end;
|
||||
|
||||
function __OBJECT(O: Pointer): P_Object;
|
||||
function __OBJECT(O: Pointer): P_Object; inline;
|
||||
begin
|
||||
__OBJECT := P_Object(PtrUInt(O) - SizeOf(T_Object))
|
||||
end;
|
||||
|
||||
function OCLASS(O: Pointer): PIClass;
|
||||
var
|
||||
Obj: P_Object;
|
||||
function OCLASS(O: Pointer): PIClass; inline;
|
||||
begin
|
||||
Obj := P_Object(PtrUInt(O) - SizeOf(T_Object));
|
||||
OCLASS := Obj^.o_Class;
|
||||
OCLASS := P_Object(PtrUInt(O) - SizeOf(T_Object))^.o_Class;
|
||||
end;
|
||||
|
||||
function SHIFTITEM(N: SmallInt): Word;
|
||||
|
||||
@ -4449,9 +4449,9 @@ SysCall IntuitionBase 954;
|
||||
function INST_DATA (cl: pIClass; o: p_Object): Pointer;
|
||||
function SIZEOF_INSTANCE (cl: pIClass): Longint;
|
||||
function BASEOBJECT (o: p_Object): Pointer;
|
||||
function _OBJ(o: p_Object): p_Object;
|
||||
function __OBJECT (o: Pointer): p_Object;
|
||||
function OCLASS (o: Pointer): pIClass;
|
||||
function _OBJ(o: p_Object): p_Object; inline;
|
||||
function __OBJECT (o: Pointer): p_Object; inline;
|
||||
function OCLASS (o: Pointer): pIClass; inline;
|
||||
function SHIFTITEM (n: smallint): word;
|
||||
function SHIFTMENU (n: smallint): word;
|
||||
function SHIFTSUB (n: smallint): word;
|
||||
@ -4533,12 +4533,9 @@ begin
|
||||
__OBJECT := p_Object(Longint(o) - sizeof(t_Object))
|
||||
end;
|
||||
|
||||
function OCLASS (o: Pointer): pIClass;
|
||||
var
|
||||
obj: p_Object;
|
||||
function OCLASS (o: Pointer): pIClass; inline;
|
||||
begin
|
||||
obj := p_Object(Longint(o) - sizeof(t_Object));
|
||||
OCLASS := obj^.o_Class;
|
||||
OCLASS := p_Object(o - sizeof(t_Object))^.o_Class;
|
||||
end;
|
||||
|
||||
function SHIFTITEM (n: smallint): word;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user