Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin
27.11.2011 0:41, Leonardo M. Ramé пишет: This is the output I get after update: ... Well, now ppc2.exe at least starts. Can you further try to build with OPT=-dDISABLE_TLS_DIRECTORY ? But don't execute 'make clean all OPT=-dDISABLE_TLS_DIRECTORY' at the top-level directory, as in this case

Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin
27.11.2011 13:09, Jonas Maebe пишет: On 27 Nov 2011, at 12:05, Sergei Gorelkin wrote: But don't execute 'make clean all OPT=-dDISABLE_TLS_DIRECTORY' at the top-level directory, as in this case OPT is apparently ignored. I regularly use OPT at the top level myself and I've never seen

Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin
27.11.2011 13:26, Jonas Maebe пишет: On 27 Nov 2011, at 12:19, Sergei Gorelkin wrote: 27.11.2011 13:09, Jonas Maebe пишет: I regularly use OPT at the top level myself and I've never seen it being ignored in that situation. Earlier in this thread Leonardo wrote: Sven, I added OPT=-gl

Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin
27.11.2011 16:45, Leonardo M. Ramé пишет: Well, I found I had an e:\pp directory containing an fpc 2.5.1, and my PATH was pointing to it, so my previous tests could have been influenced by some files from that directory. After deleting it, I compiled from top level directory using:

Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin
27.11.2011 19:10, Sven Barth пишет: On 27.11.2011 16:45, Sergei Gorelkin wrote: The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise suggests that the foreign thread raises exceptions and FPC tries to handle them. Error 255 is most likely caused by Halt(255) in rtl/inc/except.inc

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sergei Gorelkin
26.11.2011 21:40, Sven Barth пишет: On 26.11.2011 19:50, Sergei Gorelkin wrote: 26.11.2011 17:18, Leonardo M. Ramé пишет: $0040C776 is systhrd.inc line 125 if TLSKey=$ then RunError(226) $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of exec_tls_callback This is TLS

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sergei Gorelkin
26.11.2011 23:10, Leonardo M. Ramé пишет: This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc. I did a test with processexplorer

Re: [fpc-devel] Internal error in FPC 2.6.0rc1

2011-11-25 Thread Sergei Gorelkin
25.11.2011 13:36, Michael Müller пишет: Hi, I tested RC1 using one of my codes and ran into an internal error. I was able to reduce the code to the following. Free Pascal Compiler version 2.6.0rc1 [2011/10/15] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32

Re: [fpc-devel] Exception handling differences with Delphi

2011-11-25 Thread Sergei Gorelkin
24.11.2011 21:48, Florian Klämpfl пишет: Am 24.11.2011 14:59, schrieb Sergei Gorelkin: Hello, There are some differences between FPC and Delphi exception handling (working on SEH support, one would inevitably collect all of them): 1) Delphi uses EZeroDivide for floating-point division by zero

Re: [fpc-devel] Internal error in FPC 2.6.0rc1

2011-11-25 Thread Sergei Gorelkin
25.11.2011 15:49, Sergei Gorelkin пишет: The error is at the beginning of SetArray() call. I guess this one is for me to fix. Fixed in r19684. If possible, please consider merging the fix to 2.6. Regards, Sergei ___ fpc-devel maillist - fpc

Re: [fpc-devel] Exception handling differences with Delphi

2011-11-25 Thread Sergei Gorelkin
25.11.2011 21:00, Tomas Hajny пишет: Isn't the fact that it's missing in i386-linux RTL more an omission of the respective platform maintainer rather than a hint that it might be specific to Windows (and specifically to old Windows)? Extending my previous comment after digging a bit more:

[fpc-devel] Exception handling differences with Delphi

2011-11-24 Thread Sergei Gorelkin
Hello, There are some differences between FPC and Delphi exception handling (working on SEH support, one would inevitably collect all of them): 1) Delphi uses EZeroDivide for floating-point division by zero, while FPC uses EDivByZero (the same exception class is used for integer division by

[fpc-devel] Issue with open arrays passed by value

2011-11-20 Thread Sergei Gorelkin
Hello, Currently compiler can place an array of const or open array parameter into register. Moreover, if such parameter is passed by value, a local copy is made on heap (except for i386 with non-fixed stack where a copy is made on stack). A local copy on heap must be disposed in 'finally'

Re: [fpc-devel] Alignment question

2011-11-20 Thread Sergei Gorelkin
20.11.2011 23:38, Jonas Maebe пишет: On 20 Nov 2011, at 21:18, Florian Klämpfl wrote: Sorry, I meant recordalignmin. And I didn't think of that setting. Yes, that should indeed work. It doesn't, {$codealign recordnmin} changes only alignment of fields within the record, not alignment of

[fpc-devel] Alignment question

2011-11-19 Thread Sergei Gorelkin
Hello, Is it possible to declare a (SSE friendly) record or array type, so that local variables of this type get aligned to e.g. 16 bytes? Target is x86_64 with aligned stack. The {$codealign localmin=16} directive seems to work, but it is an ugly solution because: - it must be effective at

Re: [fpc-devel] Alignment question

2011-11-19 Thread Sergei Gorelkin
19.11.2011 14:14, Jonas Maebe пишет: On 19 Nov 2011, at 11:31, Sergei Gorelkin wrote: Is it possible to declare a (SSE friendly) record or array type, so that local variables of this type get aligned to e.g. 16 bytes? I don't think so. For this, we'd probably need a separate vector type

Re: [fpc-devel] threads crash on FreeBSD 9 RC1, FPC 2.6RC1

2011-11-09 Thread Sergei Gorelkin
09.11.2011 22:58, Helmut Hartl пишет: My (quick) deduction from the output below was that somewhow the initialisation of the memory managment for the new thread gone bad, as the crash seems to be in the new thread. Hence I changed the memorymanager to cmem and the problem goes away, now our

Re: [fpc-devel] FPC Performance: MOVAPD vs MOVSD

2011-10-19 Thread Sergei Gorelkin
19.10.2011 17:45, Graeme Geldenhuys пишет: Not that I understand much of the assembler generated, but what I did notice is that Delphi XE2 64-bit uses the MOVAPD function (introduced in SSE2 [1]), but even if I specify -O3 -CfSSE3 with 64-bit FPC, FPC only uses the MOVSD (introduced in 386

Re: [fpc-devel] Major problem with Move and Array of Int64

2011-09-23 Thread Sergei Gorelkin
23.09.2011 5:52, Andrew Brunner пишет: I use latest FPC from /trunk/ and this problem just started happening recently. ... Posting to the MySQL 5.1 database : the field size is as expected. Retrieving /converting the list (asString) from the database with all values set to small numbers appears

Re: [fpc-devel] the new resourcestring in const translation

2011-09-09 Thread Sergei Gorelkin
09.09.2011 18:36, Martin пишет: fpc recently added the ability to translate const Foo: String = resourcestring; if resourcestring changes so does Foo Any way to work around this? Probably only by duplicating the literal value which is used to initialize. because in

Re: wrong detection of inUnix ?? [Re: [fpc-devel] fcl-WEB build broken]

2011-06-10 Thread Sergei Gorelkin
11.06.2011 2:26, Ralf A. Quint пишет: Sorry, but you're wrong. Windows (actually since the days of DOS) happily accepts a forward slash in a path: Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Ralfcd /windows C:\Documents and

Re: [fpc-devel] 0019405: compiler crashes with range check error

2011-06-10 Thread Sergei Gorelkin
11.06.2011 3:13, Martin пишет: On 11/06/2011 00:08, Martin wrote: Yes, thanks it is fixed (well, or I cant reach i du to the below, but I choose to believe in it's fixed). But now (with today's SVN), on w32 vista: make clean make.exe all LINKSMART=1 CREATESMART=1 DEBUG=1 OPTIMIZE=0 OPT=-gl

Re: [fpc-devel] CompareMem slower in FPC 2.4.4

2011-06-02 Thread Sergei Gorelkin
02.06.2011 19:49, Sven Barth пишет: Maybe it's better if you or someone else would try to improve the performance of the i386 assembler code that makes up the Compare(Byte/Word/DWord) functions (it's located in rtl/i386/i386.inc btw). I tend to agree. The string instructions used there (rep

Re: [fpc-devel] Comparison FPC 2.4.4 - Delphi 7

2011-05-30 Thread Sergei Gorelkin
30.05.2011 11:26, Martin Schreiber пишет: Interesting the big difference in data size. It is explainable: Delphi 7 puts good half of data into the code section (procedure-local data, string data, class vmt's are all there). FPC separates data from code completely. Sergei

Re: [fpc-devel] Writeable consts in delphi mode

2011-04-16 Thread Sergei Gorelkin
16.04.2011 11:39, zeljko пишет: Any hints ? The {$J+} switch must be applied to the declaration of constants, not to their usage. Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org

Re: [fpc-devel] RFC: customvariant handling in variants.pp and fmtbcd.pp

2011-04-14 Thread Sergei Gorelkin
12.04.2011 16:18, LacaK пишет: I have attached minor rearangement, consider them please Will do. It's possible to go even further and completely exclude finalization and try..finally block, because the intermediate Variant is always of type Double, which doesn't need finalization. See

Re: [fpc-devel] RFC: customvariant handling in variants.pp and fmtbcd.pp

2011-04-14 Thread Sergei Gorelkin
15.04.2011 9:20, LacaK пишет: Hi Sergei, Sorry for the delay, got stuck with other issues... Applied in r17319. Thank you for the patch! It is ok ;-) Thanks. Could I ask why is there needed VarDataInit ? (only for my interest ;-)) A good question. Formally it is not needed, but in general

Re: [fpc-devel] Register allocation question

2011-04-10 Thread Sergei Gorelkin
10.04.2011 00:49, Florian Klämpfl пишет: Am 09.04.2011 22:22, schrieb Sergei Gorelkin: 09.04.2011 23:10, Florian Klämpfl пишет: Problem is, this might hurt non leaf functions. Maybe the register allocators can be initialized differently for leave and non-leave functions? I understand

[fpc-devel] Is it ok to commit SSE2 assembler code for x86_64?

2011-04-10 Thread Sergei Gorelkin
AFAIK every 64-bit capable x86 has at least SSE2 available, so SSE2 code is safe to be the default one (while code for SSE3 and higher requires CPUID checks). Still, I want to confirm. Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org

[fpc-devel] Register allocation question

2011-04-09 Thread Sergei Gorelkin
Hello, I wonder whether it is possible to assign a priority (or order) of registers for FPC's register allocator. Currently registers are allocated in the order of ordinals defined in cpubase.pas. On i386 it doesn't make any difference, but on x86_64 'nonvolatile' rbx (and in Win64 also rsi

Re: [fpc-devel] Register allocation question

2011-04-09 Thread Sergei Gorelkin
09.04.2011 22:26, Sergei Gorelkin пишет: 09.04.2011 22:13, Jonas Maebe пишет: Simply changing the register order in the array to trgcpu.create in Tcgx86_64.init_register_allocators should do it. Hmm, that was the first thing I tried, but it doesnt't seem to make any difference

Re: [fpc-devel] Register allocation question

2011-04-09 Thread Sergei Gorelkin
09.04.2011 22:15, Florian Klämpfl пишет: The registers are allocated in the order defined in tcgx86_64.init_registers_allocators. However, there are rax etc. in front of rbx etc. The reason why rbx etc. are used might be calls to other procedures. Can you give an example which is affected by

Re: [fpc-devel] Register allocation question

2011-04-09 Thread Sergei Gorelkin
09.04.2011 23:10, Florian Klämpfl пишет: Problem is, this might hurt non leaf functions. Maybe the register allocators can be initialized differently for leave and non-leave functions? I understand the concern, but it should be handled somehow already. If we consider a non-leaf function that

Re: [fpc-devel] Changes in Makefile-system

2011-04-06 Thread Sergei Gorelkin
02.04.2011 1:15, Joost van der Sluis пишет: Hi all, I've just committed a change in the Makefiles for the fcl-web package. The Makefile now calls fpmake to build and install the package. Another disaster occurs when I try to use the same source tree from different OSes. Say first I build in

Re: [fpc-devel] Changes in Makefile-system

2011-04-06 Thread Sergei Gorelkin
06.04.2011 12:56, Joost van der Sluis пишет: Another disaster occurs when I try to use the same source tree from different OSes. Say first I build in Linux, it successfully creates the '/packages/fcl-web/fpmake' executable. After that building from Windows fails since it attempts to run the

Re: [fpc-devel] Behavior of conversion between vardate variants and string in fpc and delphi

2011-04-03 Thread Sergei Gorelkin
Luiz Americo Pereira Camara пишет: So, what should be done? 1) Be totally compatible with Delphi: convert date to string with hardcoded format and raise exception when doing the conversion back? 2) Use the hardcoded format used to convert from vardate variant to string and vice versa? 3) Use

Re: [fpc-devel] Changes in Makefile-system

2011-04-02 Thread Sergei Gorelkin
On 02.04.2011 01:15, Joost van der Sluis wrote: Hi all, I've just committed a change in the Makefiles for the fcl-web package. The Makefile now calls fpmake to build and install the package. I'm unable to run the test suite with this change, apparently it tries to install package files to

Re: [fpc-devel] RFC: customvariant handling in variants.pp and fmtbcd.pp

2011-03-27 Thread Sergei Gorelkin
LacaK пишет: I have attached minor rearangement, consider them please Will do. It's possible to go even further and completely exclude finalization and try..finally block, because the intermediate Variant is always of type Double, which doesn't need finalization. I have looked again at

Re: [fpc-devel] RFC: customvariant handling in variants.pp and fmtbcd.pp

2011-03-23 Thread Sergei Gorelkin
LacaK пишет: I can fix it by following fixs: 1. fmtbcd_castto.diff ... added case when castto varString is requested ... then do not use cast throught varDouble (to avoid lost of precision), but convert directly from TBCD to string 2. variants.pp ... here we must add handling of

Re: [fpc-devel] RFC: customvariant handling in variants.pp and fmtbcd.pp

2011-03-23 Thread Sergei Gorelkin
LacaK пишет: Hi Sergei, I can fix it by following fixs: 1. fmtbcd_castto.diff ... added case when castto varString is requested ... then do not use cast throught varDouble (to avoid lost of precision), but convert directly from TBCD to string 2. variants.pp ... here we must add handling

Re: [fpc-devel] GetMem(SomePointer, 0) nil

2011-03-01 Thread Sergei Gorelkin
Jonas Maebe пишет: On 01 Mar 2011, at 07:32, Paul Ishenin wrote: I noticed today that if I want to allocate 0 bytes I get not a nil but a valid pointer. Why? The current code that causes this comes from this (cvs) revision: revision 1.16 date: 1999-09-17 19:14:12 +0200; author: peter;

Re: [fpc-devel] variant type - crash question

2010-12-15 Thread Sergei Gorelkin
Martin пишет: Never used variants much. But the below compiles, and then gives a SigSegV (w32). Is that to be expected? Or ? program Project1; {$mode objfpc}{$H+} uses Classes; procedure Foo(v1,v2: Variant; constref v3,v4: Variant); begin writeln(v1,v2,v3,v4); end; begin

Re: [fpc-devel] New language feature suggestion (probably not existing in Delphi)

2010-11-26 Thread Sergei Gorelkin
Max Vlasov пишет: Speaking of new features, I remember the bunch of them were introduced with Delphi 1.0 and many of them were inspired by other languages and dialects. I admit that frequent implementing of features like the one I suggested will make fpc more experimental and less solid.

Re: [fpc-devel] Re: New language feature suggestion (probably not existing in Delphi)

2010-11-26 Thread Sergei Gorelkin
Max Vlasov пишет: On Fri, Nov 26, 2010 at 11:42 AM, Max Vlasov max.vla...@gmail.com mailto:max.vla...@gmail.com wrote: An idea here is to introduce a directive (maybe something else, but directive looks more straightforward), let's call it readonly that forces the method to be

Re: [fpc-devel] Component FTag and Tag should be int64

2010-11-23 Thread Sergei Gorelkin
Andrew Brunner пишет: Ok. First off tag should be revised to match Delphi. Second. I need data property on Tcomponent I propose having an additional directive for this mechanism kind of like the option for using large strings. Components have data property. This way I can just get

Re: [fpc-devel] Some more THandle problems

2010-11-20 Thread Sergei Gorelkin
Sven Barth пишет: Hello together! While getting SysUtils and Classes to compile for Native NT I've stumbled upon some more spots where Handle=LongInt/LongWord is assumed. 1. In objpas/sysutils/filutilh.inc and its implementation objpas/sysutils/fina.inc the GetFileHandle functions are

Re: [fpc-devel] Some more THandle problems

2010-11-20 Thread Sergei Gorelkin
Marco van de Voort пишет: In our previous episode, Sergei Gorelkin said: 2. THandleStream has a field FHandle which is defined as Integer. Now this handle is filled either by the constructor which takes an Integer as well or by e.g. TFileStream which gets its handle from FileOpen/FileCreate

[fpc-devel] Two issues with variant type definitions

2010-11-11 Thread Sergei Gorelkin
Hello, Two questions I wanted to ask: 1) There are two variant type defintions (varxxx constants): one in compiler/symdef.pas, another one in rtl/inc/varianth.inc. Worse, they are out of sync. Is it really necessary to have a separate set of these definitions in compiler? 2) In FPC,

Re: [fpc-devel] Two issues with variant type definitions

2010-11-11 Thread Sergei Gorelkin
Florian Klaempfl пишет: Am 11.11.2010 15:19, schrieb Sergei Gorelkin: Hello, Two questions I wanted to ask: 1) There are two variant type defintions (varxxx constants): one in compiler/symdef.pas, another one in rtl/inc/varianth.inc. Worse, they are out of sync. Is it really necessary to have

Re: [fpc-devel] Question regarding FileSetDate implementation

2010-11-09 Thread Sergei Gorelkin
Sven Barth пишет: Hello together! As you might have noticed, I'm working on the NativeNT RTL again and discover some nice FPC_HAS_FEATURE_* and THandle problems on the way. Now I've found another one and I'd like to know how this should be fixed: FileSetDate in SysUtils (the filename

Re: [fpc-devel] Question regarding FileSetDate implementation

2010-11-09 Thread Sergei Gorelkin
Sergei Gorelkin пишет: According to Delphi documentation, it should return zero on success, non-zero error code otherwise. Windows handle-based implementation conforms to that. The proper fix would be returning value of GetLastOSError, but it may be not available for all platforms. Fixed

Re: [fpc-devel] [PATCH] XMLCFG AnsiStringDOMString conversion

2010-11-06 Thread Sergei Gorelkin
Felipe Monteiro de Carvalho пишет: On Fri, Nov 5, 2010 at 6:15 PM, Dariusz Mazur dar...@emadar.com wrote: I say wrong: how to change code page used to implicit conversion ansistring- wide string Use the appropriate conversion routine instead, and avoid implicit conversions for they are not

Re: [fpc-devel] [PATCH] XMLCFG AnsiStringDOMString conversion

2010-11-03 Thread Sergei Gorelkin
dar...@emadar.com пишет: When I using xmlCfg unit i found problem with storing literals in arbitrary code page. XMLCfg perform automatic conversion with omit some chars. I've change it to use utf8string instead of. Maybe this patch will be interesting. Such patch will make all existing config

Re: [fpc-devel] Types.IntersectRect(), probably bug or misusage VERY URGENT

2010-10-26 Thread Sergei Gorelkin
zeljko пишет: On Tuesday 26 October 2010 15:13, Felipe Monteiro de Carvalho wrote: On Tue, Oct 26, 2010 at 3:14 PM, zeljko zel...@holobit.net wrote: No, I've opened an issue and Jonas closed with good explanation - we had misusage of IntersectRect in gtk/gtk2 interfaces (I've fixed both) ...

Re: [fpc-devel] Types.IntersectRect(), probably bug or misusage VERY URGENT

2010-10-26 Thread Sergei Gorelkin
Jonas Maebe пишет: With a little testing, here are two facts: 1) Delphi 7 also shows this bug. 2) Windows.IntersectRect() does not show it, allowing 'misuses'. So, whoever wrote the FPC function, must have been trying really hard to achieve bug-to-bug compatibility with Delphi... or simply

Re: [fpc-devel] Bitpacked Record Bug

2010-10-26 Thread Sergei Gorelkin
Willibald Krenn wrote: Am 26.10.2010 21:33, schrieb Jonas Maebe: Thanks for confirming my thoughts. Shall I still file a bugreport for this? It's fixed. Thanks, I just wanted to file a report for this and the assembly thing but it seems that reporting new issues on mantis does not work

Re: [fpc-devel] TFPHashList (Was: Alternative parsers)

2010-10-21 Thread Sergei Gorelkin
Hans-Peter Diettrich пишет: Marco van de Voort schrieb: PChars, on the other hand, require manual memory management which is the source of bugs. Point out the example of bugs. (ones that matter, not the stylistic ones) The usage of PString essentially is using an crippled AnsiString,

Re: [fpc-devel] TFPHashList (Was: Alternative parsers)

2010-10-20 Thread Sergei Gorelkin
Alexander Klenin пишет: Ok, I re-tested with 2*10^6 Find's. Then AnsiString variants wins even for length 5: ShortString: 0.547 s AnsiString: 0.437 s Running the test, I get quite opposite results: 0.750 sec 0.766 sec short add: 1.829 sec short find: 0.781 sec ansi add: 1.750 sec ansi

Re: [fpc-devel] Fatal: Internal error 200111022

2010-10-20 Thread Sergei Gorelkin
Jonas Maebe пишет: On 20 Oct 2010, at 13:37, Michael Van Canneyt wrote: Can you please enter a bug-report for this, and simply mention these facts ? - Fix as suggested in Delphi mode - Prohibit in ObjFPC mode ? Prohibiting it breaks the compilation of dom_html.pp: dom_html.pp(66,14) Error:

Re: [fpc-devel] TFPHashList (Was: Alternative parsers)

2010-10-20 Thread Sergei Gorelkin
Alexander Klenin пишет: On Thu, Oct 21, 2010 at 00:03, Sergei Gorelkin sergei_gorel...@mail.ru wrote: Alexander Klenin пишет: Running the test, I get quite opposite results: 0.750 sec 0.766 sec short add: 1.829 sec short find: 0.781 sec ansi add: 1.750 sec ansi find: 1.406 sec The only

Re: [fpc-devel] Alternative parsers

2010-10-19 Thread Sergei Gorelkin
Alexander Klenin пишет: Ok, I went ahead and have taken look at the code. I assume you speak about TFPHashList vs TFPCustomHashTable. The classes are not really comparable, because they use quite different internal data structures. So instead I converted TFPHashList list to use ansistrings.

Re: [fpc-devel] Alternative parsers

2010-10-19 Thread Sergei Gorelkin
Michael Van Canneyt пишет: I believe it's not ShortStrings per se to blame, but storing them in a large single memory block as it is being done in TFPHashList. Adding a lot of keys will cause many reallocations. Large size of the block forces memory manager to use variable-size pool, which

Re: [fpc-devel] TDOMDocument.GetTextContent implementation seems wrong

2010-10-07 Thread Sergei Gorelkin
Graeme Geldenhuys wrote: Hi, The current hierarchy in the dom unit is as follows TDomNode | TDOMNode_WithChildren | TDOMDocument Now the GetTextContent() implementation for TDOMNode_WithChildren runs recursively through all child nodes collecting data. ...but the

Re: [fpc-devel] FPC/Lazarus Rebuild performance

2010-09-12 Thread Sergei Gorelkin
Martin Schreiber пишет: Truncated at line 16380: Delphi 7: E:\FPC\svn\fixes_2_4\tests\webtbfdcc32 tw2242xtrunc.pp Borland Delphi Version 15.0 Copyright (c) 1983,2002 Borland Software Corporation tw2242xtrunc.pp(16382) 16383 lines, 0.16 seconds, 256684 bytes code, 1801 bytes data. FPC:

Re: [fpc-devel] FPC/Lazarus Rebuild performance

2010-09-11 Thread Sergei Gorelkin
Jonas Maebe пишет: On 11 Sep 2010, at 12:23, Martin Schreiber wrote: or it isn't true that FPC bottleneck is disk IO. Are we absolutely sure about the bottleneck? I'm quite certain that there are many reasons that FPC compiles more slowly than Delphi. The bottlenecks probably also vary from

Re: [fpc-devel] FPC/Lazarus Rebuild performance

2010-09-11 Thread Sergei Gorelkin
Michael Van Canneyt пишет: One idea that comes at this point is to put PPU data directly into object files, so the number of output files is reduced plain twice. The PPU data could be placed into a section that is ignored by linker. However I don't know is this is possible for all

Re: [fpc-devel] PShortString

2010-09-10 Thread Sergei Gorelkin
Daniël Mantione пишет: Op Fri, 10 Sep 2010, schreef Hans-Peter Diettrich: Sergei Gorelkin schrieb: When dynamic strings are used all around, is the use of pointers to ShortString still recommended? (fmodule contains a lot of them) Whenever you care about performance, you'll quickly

Re: [fpc-devel] PShortString

2010-09-09 Thread Sergei Gorelkin
Hans-Peter Diettrich wrote: When dynamic strings are used all around, is the use of pointers to ShortString still recommended? (fmodule contains a lot of them) Whenever you care about performance, you'll quickly realize that dynamic strings are plain inappropriate. When it is also known that

Re: [fpc-devel] Which unit does -gl parameter use?

2010-08-23 Thread Sergei Gorelkin
Graeme Geldenhuys пишет: This limitation makes FPCUnit, DUnit2 and fpprofiler under 64-bit platforms pretty useless. :-( Well, I don't know about DUnit2 and fpprofiler, but FPCUnit is currently hardcoded to use LineInfo - so it won't display anything if actual type of debug information is

Re: [fpc-devel] Passing parameters through the stack to interfaces

2010-08-05 Thread Sergei Gorelkin
Joost van der Sluis пишет: ... I don't know what's the best way to fix this. I see three solutions: 1: replace the 'call' in the wrapper with a 'jmp'. I've tried this and it works, but when the function returns, the 'self'-class-pointer is not converted to the interface-pointer. But I don't

[fpc-devel] RTTI question

2010-07-30 Thread Sergei Gorelkin
Hello, I have discovered that the pointer returned by typeinfo() builtin in FPC is very different from one returned in Delphi. What Delphi returns points to rough equivalent of FPC's INIT$_typename structure, so one may examine the structure to figure out the 'managed' fields. FPC, however,

Re: [fpc-devel] threadvar implementation

2010-07-26 Thread Sergei Gorelkin
Michael Schnell wrote: ... This is essentially the same code as with Delphi. Supposedly as with Delphi [__tls_index (417328h) ] is always 0 with normal applications. (no idea what this is useful for) The TLS index is allocated by a call to TlsAlloc at application startup. It will be zero for

Re: [fpc-devel] mising ansi string ref increase

2010-07-22 Thread Sergei Gorelkin
Martin пишет: Anyone any idea, if there s any code that could cause such an optimization ? This is by design. 'const' modifier on ansistring and other 'managed' type arguments instucts the compiler to omit refcount changes, yielding a faster code. At the same time it prohibits direct

Re: [fpc-devel] mising ansi string ref increase

2010-07-22 Thread Sergei Gorelkin
Martin wrote: I saw the error in my thinking, after Jonas (re-) explained the meaning of const. and I guess it applies to other types to (as long as they are passed by reference): e.g records are likely to see changes too... Indeed. I was initially not completely correct, and should have

Re: [fpc-devel] Re: Compiler bottlenecks

2010-07-15 Thread Sergei Gorelkin
Michael Schnell wrote: I did not take a look at FPC's memory manager. Maybe someone might want to do some profiling I did the extensive profiling when working on fcl-xml package. For a single-threaded application, the following is true: - FastMM is somewhat slower than FPC's memory

Re: [fpc-devel] Messages overhead

2010-07-15 Thread Sergei Gorelkin
Hans-Peter Diettrich wrote: But the patches have been rejected? For what reason? They have been applied in revision 9297. Regards, Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org

Re: [fpc-devel] Blackfin support

2010-07-15 Thread Sergei Gorelkin
Hans-Peter Diettrich wrote: Not necessarily. When all currently used files reside in memory, every (recorded) token can contain an pointer (or offset) into the file buffer. This may reduce the number of required string copies (not yet fully researched). You normally shouldn't ever need to

Re: [fpc-devel] Messages overhead

2010-07-14 Thread Sergei Gorelkin
Hans-Peter Diettrich wrote: Daniël Mantione schrieb: IMO compiler messages slow down compilation a lot. How do you know this, did you benchmark or is it just your opinion? Common knowledge, proved by experience. I had benchmarked that, and submitted some patching some (already long)

Re: [fpc-devel] fpdoc content syntax suggestion

2010-07-10 Thread Sergei Gorelkin
Marco van de Voort wrote: I don't understand this, since if I follow these steps, the stored nodes still may contain the wiki syntax, and thus need backend changes? Or am I wrong and are you suggesting encoding the xml/html to wiki as much as possible before editing, and decoding it to

Re: [fpc-devel] fpdoc content syntax suggestion

2010-07-09 Thread Sergei Gorelkin
Michael Van Canneyt wrote: Obviously... And: Not using XML would require a major rewrite of fpdoc - it is deeply rooted in XML, as you'll find out - and I am not very keen on this. So hold your horses there, please... I'd suggest the following: 1) XML stays :-) 2) The fpdoc is modified in

Re: [fpc-devel] ExceptAddrStack FRAMETYPE=1 ?

2010-06-10 Thread Sergei Gorelkin
Martin wrote: I am still stuck on this issue. I don't know if fpc_reraise has been entered while it should not; or if the data was corrupted. Normally you should be able to figure it out by examining the call stack/backtrace. What does FRAMETYPE = 1 mean? Guess it is the value of

Re: [fpc-devel] Interface delegation fix: backport to FPC 2.4.2 ...?

2010-05-21 Thread Sergei Gorelkin
Graeme Geldenhuys wrote: Because many of the classes we want to observe descend from TPersistent. So it make sense to put the basic workings of Observer there, and then descendant components will decided what must trigger notifications. Also we couldn't implement Observer earlier in FPC

Re: [fpc-devel] Interface delegation fix: backport to FPC 2.4.2 ...?

2010-05-19 Thread Sergei Gorelkin
Matt Emson wrote: I don't think so. I'd hate to see any specific pattern being implemented at a base level. Why? Exactly what Marco said. Patterns are faddy - you are not going to please everyone. I'd rather see a mechanism for injecting first class extensions to existing classes. That way,

Re: [fpc-devel] procedure ... message(); in Linux

2010-02-18 Thread Sergei Gorelkin
Michael Schnell wrote: Yep. Here you need to do a server and a client and it does not seem to use procedure message. But In Delphi/Windows you don't need to create a server. Just using procedure message is enough o receive a message from another process. Things are more complicated

Re: [fpc-devel] New issue in fcl-xml

2010-01-15 Thread Sergei Gorelkin
Leonardo M. Ramé wrote: Sorry, I found it now checks the encoding of the XML file. To accept spanish accented chars, I had to include ?xml version=1.0 encoding=iso-8859-1? and it worked ok. The iso-8859-1, utf-8 and utf-16 are the only encodings handled 'natively' (by the XMLRead unit). Any

Re: [fpc-devel] XML Stream capacity

2010-01-14 Thread Sergei Gorelkin
Leonardo M. Ramé wrote: I'm using fcl-xml to parse a XML data from a TMemoryStream/TStringStream and noted it can parse streams with a maximum capacity of 4096 bytes, why can't it receive bigger streams?. The maximum capacity is defined in the constructor of TXMLStreamInputSource, in

Re: [fpc-devel] XML Stream capacity

2010-01-14 Thread Sergei Gorelkin
Leonardo M. Ramé wrote: Thanks Sergey. I tought that was why my program was stopping with an assertion in procedure TNodePool.AddExtent of dom.pp, the assertion dissapears when I work with smaller XML files. BTW: the file worked with older versions of fcl-xml, now I'm using the trunk

[fpc-devel] TIntefaceEntryType declaration

2009-12-10 Thread Sergei Gorelkin
Hello, What's the reason of having TInterfaceEntryType declared both in RTL (inc/objpash.inc) and compiler (symconst.pas) and keeping them in sync? It seems that compiler can always use declaration from System unit, no? Regards, Sergei ___

[fpc-devel] Inrerface delegation by class-type property: which way to go?

2009-12-04 Thread Sergei Gorelkin
Hello, I tried to familiarize myself with the issues which must be resolved in order to get the interface delegation by class-type properties fixed. It appears that the there are at least two ways to go: do it exactly like in Delphi, or do it another way :-) Delphi way is more or less

Re: [fpc-devel] profiling under windows

2009-11-20 Thread Sergei Gorelkin
Paul Ishenin пишет: What I can't understand why the biggest %time has the lowest seconds. E.g: The second column is a cumulative time, i.e. sum of the time for the given function and everything above it. As result I don't understand which functions must be reviewed at first. Have

Re: cpstrnew branch (was Re: [fpc-devel] Freepascal 2.4.0rc1 released)

2009-11-11 Thread Sergei Gorelkin
Graeme Geldenhuys wrote: I have not looked at the cpstrnew branch, but what is the 4 bytes used for in each string? Couldn't the individual bits in 1 byte value be used? That will reduce the extra memory overhead by 75%? It won't. 4 bytes will be used anyway because of alignment. On x86_64,

Re: [fpc-devel] XML DOM thread safety

2009-11-11 Thread Sergei Gorelkin
Inoussa OUEDRAOGO пишет: (a long message skipped) Rather that writing that much, you'd better simply bug me to speed it up :-) Anyway, done in r14145. Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org

Re: [fpc-devel] Dynamically Loading Libraries

2009-11-04 Thread Sergei Gorelkin
Ivo Steinmann wrote: but one thing would be nice to have. A compiler switch and/or built in function to check wheter a symbol is used or not. With this information is easy to implement smart loading. The problem is that when compiling a unit, you never know which symbols will be used in the

Re: [fpc-devel] Dynamically Loading Libraries

2009-11-02 Thread Sergei Gorelkin
Vincent Snijders wrote: Should do the following right? Correct me if i'm wrong: Static function: function foobar_dosomething(a:cint; b:cdouble): cint; extdecl;external foobarlib; Becomes a dyn function: var foobar_dosomething: function(a:cint; b:cdouble): cint; extdecl; And a statement

Re: [fpc-devel] TObject differences between fpc and delphi

2009-10-28 Thread Sergei Gorelkin
Paul Ishenin пишет: 2. If I am using PTypeInfo(TypeInfo(Self))^.Kind inside a class method I get tkUnknown and UnitName is not avaiable ofcource. Self = TClass, not TObject inside a class method. Obviously, there is no RTTI or whatever for TClass. Sergei

Re: [fpc-devel] Want to remove AVL_Tree from DOM

2009-10-26 Thread Sergei Gorelkin
Marco van de Voort wrote: That is not a problem. The problem is that the getvalue/set behaviour must remain the same, and I must be able to select the encoding (or it should use the system default encoding). Those are the things I have many times. opening/closing only happens a handful times

Re: [fpc-devel] Want to remove AVL_Tree from DOM

2009-10-24 Thread Sergei Gorelkin
Marco van de Voort wrote: short summary: - need the current interface very badly to be backwards compat, if I (and Lazarus) are ever migrating to a FCL one. Changes to the interface not really an option, then I'd stick to my ancient lazarus version forever. The xmlconf has the same

[fpc-devel] Want to remove AVL_Tree from DOM

2009-10-23 Thread Sergei Gorelkin
Hello, I want to remove the avl_tree-related stuff from DOM unit. The reasons are: 1) It is targeted to optimize one particular type of documents, configs, that require all node names within a single parent to be unique (strictly speaking, this isn't xml, it is more like ini-files or

Re: [fpc-devel] New feature discussion: for-in loop

2009-10-21 Thread Sergei Gorelkin
Alexander Klenin пишет: On Wed, Oct 21, 2009 at 23:15, Michael Van Canneyt mich...@freepascal.org wrote: This is all just nitpicking. Iterators as a language construct are a very ugly hack to save some typing, no matter how you turn it. Nice maybe for languages with dynamic typing and so on,

Re: [fpc-devel] New feature discussion: for-in loop

2009-10-21 Thread Sergei Gorelkin
Michael Van Canneyt wrote: Hm. I like this direction of thinking, yes... What about function StepNext: Boolean; iterator 'movenext'; property TheCurrentValue: Integer; iterator 'current'; or better yet, because it is more strict: function StepNext: Boolean; iterator nextvalue;

<    1   2   3   >