Board index » delphi » Re: FastCode Libraries 0.5 beta!
Bart van der Werf
![]() Delphi Developer |
Bart van der Werf
![]() Delphi Developer |
Re: FastCode Libraries 0.5 beta!2006-08-31 05:29:49 PM delphi73 "Charalabos Michael" <XXXX@XXXXX.COM>wrote in message news:XXXX@XXXXX.COM... QuoteHello Boys and Girls, raise Exception.Create('Fastcode: Failed to detect machine type.'); to the bottom of the case: {$IFDEF FastCodeCPUID} case FastCodeTarget of else you get alot of warnings about uninitialized value's |
Bart van der Werf
![]() Delphi Developer |
2006-08-31 05:31:34 PM
Re: FastCode Libraries 0.5 beta!
"Charalabos Michael" <XXXX@XXXXX.COM>wrote
in message news:XXXX@XXXXX.COM... QuoteHello Boys and Girls, the error VirtualProtect might give. |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:31:39 PM
Re: FastCode Libraries 0.5 beta!
Hello Dennis,
QuoteI count functions from 12 challenges. We have 50. You are 24% done ;-) -- Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:32:10 PM
Re: FastCode Libraries 0.5 beta!
Hello Jouni,
QuoteI moved file to Yahoo : Files>Libraries>Fastcode library>0.5 Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:46:00 PM
Re: FastCode Libraries 0.5 beta!
Hello Jouni,
QuoteI used that this logic : for each target if it exists. QuoteCharalabos, if you want to make Dennis really happy, please run Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Dennis
![]() Delphi Developer |
2006-08-31 05:48:07 PM
Re: FastCode Libraries 0.5 beta!
Hi
The library is not for RTL routines only. It is for all Fastcode functions. Best regards Dennis Kjaer Christensen |
Bart van der Werf
![]() Delphi Developer |
2006-08-31 05:49:40 PM
Re: FastCode Libraries 0.5 beta!
"Charalabos Michael" <XXXX@XXXXX.COM>wrote
in message news:XXXX@XXXXX.COM... QuoteHello Boys and Girls, CPU.EffFamily = $f CPU.EffModel = 4 !! 0,1,2 is NorthWood 6 is Prestler but 4 is Prescott, isn't the NorthWood stuff better then the sse2 implementations ? grt, Bart |
Dennis
![]() Delphi Developer |
2006-08-31 05:50:00 PM
Re: FastCode Libraries 0.5 beta!
Hi
QuoteI'll include their names above their functions Dennis Kjaer Christensen |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:50:31 PM
Re: FastCode Libraries 0.5 beta!
Hello Dennis,
QuoteAleksandr has the Pascal winners and is contributor -- Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:53:40 PM
Re: FastCode Libraries 0.5 beta!
Hello Dennis,
QuotePascal and size penalty targets are missing. Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 05:54:18 PM
Re: FastCode Libraries 0.5 beta!
Hello Bart,
Quote{$IFDEF FastCodeCPUID} Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Dennis
![]() Delphi Developer |
2006-08-31 06:03:23 PM
Re: FastCode Libraries 0.5 beta!
Hi
These functions are in the library Pos, PosEx, LowerCase, UpperCase, CompareStr, CompareMem, CompareText, StrComp, StrCopy, StrLen,FillChar,AnsiStringReplace; Taking challenges from our site in alphabetical order and listing the ones not included in the library AES, ArcCos, ArcSin, Ceil32, Ceil64, CharPos, CharPosIEx, CharPosEY, CmplxRectAdd, , CmplxRectSub, CmplxRectMul, CmplxRectDiv, CmplxPolAdd, CmplxPolSub, CmplxPolToRect, CmplxRectToPol, Floor32, Floor64, GCD32, Int64Div, Int64Mul, IsPrime, MaxFP, MaxInt, MaxInt64, MinFP, MinInt, MinInt64, Move, PosIEx, Power, RGBToBGR, Round, RoundToEx, Round32, Trunc, Trunc32. These are missing. Best regards Dennis Kjaer Christensen |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 06:03:48 PM
Re: FastCode Libraries 0.5 beta!
Hello Bart,
QuoteFastCodeAddressPatch in FastCodePatch should reset the OriginalProtection, const Size = SizeOf(TJump); var NewJump: PJump; OldProtect: Cardinal; begin if VirtualProtect(ASource, Size, PAGE_EXECUTE_READWRITE, OldProtect) then begin NewJump := PJump(ASource); NewJump.OpCode := $E9; NewJump.Distance := Pointer(Integer(ADestination) - Integer(ASource) - 5); FlushInstructionCache(GetCurrentProcess, ASource, SizeOf(TJump)); VirtualProtect(ASource, Size, OldProtect, @OldProtect); end; end; -- Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 06:05:04 PM
Re: FastCode Libraries 0.5 beta!
Hello Dennis,
QuoteThe library is not for RTL routines only. It is Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |
Charalabos Michael
![]() Delphi Developer |
2006-08-31 06:07:06 PM
Re: FastCode Libraries 0.5 beta!
Hello,
QuoteAll contributor names must be mentioned in the MPL license text. Charalabos Michael - [Creation Power] - www.creationpower.com - www.creationpower.gr |