* better rtti

This commit is contained in:
florian 1998-06-25 08:41:41 +00:00
parent 804397de24
commit 811044754a
7 changed files with 36 additions and 39 deletions

View File

@ -2,6 +2,6 @@
# Here we set processor dependent include file names.
#
CPUNAMES=i386 heap math set
CPUNAMES=i386 heap math set rttip
CPUINCNAMES=$(addsuffix .inc,$(CPUNAMES))

View File

@ -20,8 +20,6 @@ Procedure Initialize (Data,TypeInfo : pointer);[Public,Alias : 'INITIALIZE'];ass
asm
# Save registers
push %ebp
movl %esp,%ebp
push %eax
push %ebx
push %ecx
@ -93,16 +91,11 @@ asm
pop %ecx
pop %ebx
pop %eax
leave
ret $8
end;
Procedure Finalize (Data,TypeInfo: Pointer);[Public, Alias : 'FINALIZE']; assembler;
Procedure Finalize (Data,TypeInfo: Pointer);[Public,Alias : 'FINALIZE']; assembler;
asm
# Save registers
push %ebp
movl %esp,%ebp
push %eax
push %ebx
push %ecx
@ -176,15 +169,12 @@ asm
pop %ecx
pop %ebx
pop %eax
ret $8
end;
Procedure Addref (Data,TypeInfo : Pointer); [Public, alias : 'ADDREF'];Assembler;
Procedure Addref (Data,TypeInfo : Pointer); [Public,alias : 'ADDREF'];Assembler;
asm
# Save registers
push %ebp
movl %esp,%ebp
push %eax
push %ebx
push %ecx
@ -258,16 +248,12 @@ asm
pop %ecx
pop %ebx
pop %eax
leave
ret $8
end;
Procedure DecRef (Data,TypeInfo : Pointer); [Public, alias : 'DECREF'];Assembler;
Procedure DecRef (Data,TypeInfo : Pointer); [Public,alias : 'DECREF'];Assembler;
asm
# Save registers
push %ebp
movl %esp,%ebp
push %eax
push %ebx
push %ecx
@ -341,15 +327,16 @@ asm
pop %ecx
pop %ebx
pop %eax
leave
ret $8
end;
{$ASMMODE DEFAULT}
{
$Log$
Revision 1.4 1998-06-17 11:50:43 michael
Revision 1.5 1998-06-25 08:41:43 florian
* better rtti
Revision 1.4 1998/06/17 11:50:43 michael
+ Small patch: forgot to make alias public
Revision 1.3 1998/06/10 07:46:49 michael
@ -361,4 +348,4 @@ end;
Revision 1.1 1998/06/08 15:32:12 michael
+ Split rtti according to processor. Implemented optimized i386 code.
}
}

View File

@ -210,7 +210,7 @@ begin
Size:=PAnsiRec(Pointer(S2)-FirstOff)^.Len;
Location:=Length(S1);
{ Setlength takes case of uniqueness
and alllocated memory. We need to use length,
and allocated memory. We need to use length,
to take into account possibility of S1=Nil }
//!! SetLength (S1,Size+Location);
Move (Pointer(S2)^,Pointer(Pointer(S1)+location)^,Size+1);
@ -418,7 +418,7 @@ begin
PByte(ResultAddress+Size)^:=0;
end;
end;
Copy:=ResultAddress
Copy:=ResultAddress;
end;
@ -672,7 +672,10 @@ end;
{
$Log$
Revision 1.5 1998-06-12 07:39:13 michael
Revision 1.6 1998-06-25 08:41:44 florian
* better rtti
Revision 1.5 1998/06/12 07:39:13 michael
+ Added aliases for Incr/Decr ref.
Revision 1.4 1998/06/08 19:35:02 michael

View File

@ -6,7 +6,7 @@
# implementation files.
SYSNAMES=systemh heaph mathh filerec textrec system real2str sstrings innr \
file typefile version text
file typefile version text rtti
SYSINCNAMES=$(addsuffix .inc,$(SYSNAMES))
# Other unit names which can be used for all systems

View File

@ -21,7 +21,7 @@
# What compiler do you want to use :
ifndef PP
PP=ppc386
endif PP
endif
# Where do you want to install the units ?
# For each of the systems, a subdirectory OSunits of
@ -73,7 +73,9 @@ endif
# Set redir to YES if you want a log file to be kept.
ifndef REDIR
REDIR=YES
endif
# Set NODEBUG to YES if you DON'T want debugging
NODEBUG=YES
@ -141,7 +143,7 @@ else
override REDIR:= >> log
endif
else
REDIR:=
override REDIR:= >> con
endif
# Check error definitions file.
@ -155,7 +157,7 @@ DOS=NO
else
DOS=YES
# also redirect the standard error to the redir file
ifdef REDIR
ifeq (YES,$(REDIR))
PP:=redir -eo $(PP)
# set the verbosity to max
OPT:=$(OPT) -va
@ -200,7 +202,7 @@ native: rtl$(OS_SRC)
nativelibs : $(OS_SRC)libs
all: rtlgo32v1 rtlgo32v2 rtllinux rtlos2
all: rtlgo32v1 rtlgo32v2 rtllinux rtlos2 rtlwin32
libs: go32v1libs go32v2libs linuxlibs os2libs
@ -269,9 +271,9 @@ native_libinstall: libinstall_$(OS_SRC)
makefile.dif : makefile
-$(DIFF) $(DIFFOPTS) makefile $(REFPATH)/makefile > makefile.dif
diffs_rtl: makefile.dif
diffs_rtl: makefile.dif
diffs_dos:
$(MAKE) -C dos diffs
@ -293,6 +295,8 @@ diffs_linux:
$(MAKE) -C linux diffs
diffs_os2:
$(MAKE) -C os2 diffs
diffs_win32:
$(MAKE) -C win32 diffs
install_go32v1:
$(MAKE) -C dos/go32v1 install

View File

@ -176,9 +176,9 @@ unit defines;
CNLEN = 15;
DNLEN = 15;
FILE_BEGIN = 0;
FILE_CURRENT = 1;
{ _lopen, LZOpenFile, OpenFile }
FILE_CURRENT = 1;
FILE_END = 2;
{ _lopen, LZOpenFile, OpenFile }
OF_READ = 0;
OF_READWRITE = 2;
OF_WRITE = 1;
@ -4416,7 +4416,10 @@ end.
{
$Log$
Revision 1.3 1998-06-10 10:39:12 peter
Revision 1.4 1998-06-25 08:41:47 florian
* better rtti
Revision 1.3 1998/06/10 10:39:12 peter
* working w32 rtl
}

View File

@ -4545,14 +4545,14 @@ unit struct;
implementation
const __ExtrnlLibrary='system.dll'; {Setup as you need!}
end.
{
$Log$
Revision 1.2 1998-05-06 12:36:50 michael
Revision 1.3 1998-06-25 08:41:48 florian
* better rtti
Revision 1.2 1998/05/06 12:36:50 michael
+ Removed log from before restored version.
Revision 1.1.1.1 1998/03/25 11:18:47 root