Jump to content

jbg

Members
  • Content Count

    69
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by jbg


  1. On 1/14/2019 at 11:33 AM, Johan Bontes said:

    When I run a 64-bit application under the debugger (F9) the following error pops up:

     

    Debugger Assertion Failure "apiOK"

    in ..\win32src\w64mgr.cpp at Line 79

    This assertion is thrown when the debugger's CreateProcess() call to start the application fails. I think it would be better to tell the user what the problem is (RaiseLastOSError) instead of showing the informationless "apiOK" message box.

     

    Unfortunately I can't reproduce this bug with the projects I have.

     


  2. On 1/22/2019 at 10:21 AM, Sue King said:

    I've just tried this and found that when a form is opened, I'm getting Internal error C00001D.  This is with both VCL and FMX projects.  I ended up uninstalling it.

     

    Has anyone else seen something like this ?

     

    Was this with the 64 bit compiler or the 32 bit compiler?


  3. A new development snapshot of IDE Fix Pack for 10.3 Rio is available.

    The Win64 (DCC64) and Android (DCCAARM) compiler patches should now work as excepted.

     

    Changes:

    • Added: Support for Delphi 10.3 Rio
    • Added: Fix for TStringList.IndexOfName bug (RSP-21633)
    • Added: Fix for access violoation in the Welcomepage JScript9.dll binding
    • Added: TCustomListBox.ResetContent is skipped if the handle isn't created yet
    • Added: DFM Streaming optimizations
    • Added: FillChar uses Enhanced REP MOVSB/STOSB cpu feature if available for large sizes.
    • Added: Enabled CPU LOCK string assignment optimization for local variables
    • Added: -Oe (experimental optimizations) and -x-cgo compiler option extension (Remove of some unneccessary push/pop operations)
    • Added: Expression Evaluator allows array access to pointers even if the type wasn't declared with {$POINTERMATH ON}
    • Added: New compiler option extensions: -x--compileonly, -x--reslist, -x--depfile, -x--unitstats
    • Added: More performance optimization for the DCC64 compiler
    • Added: TStringBuilder.SetLength optimization [RSP-19178]
    • Added: TStrings.GetDelimitedText optimization
    • Fixed: Packages with duplicate units may not have caused a fatal compiler error.

     

    IDEFixPackD103Reg64.7z

    fastdccD103vDev.7z

    • Like 4
    • Thanks 24

  4. 42 minutes ago, gurpal2000 said:

    the JVCL install.bat says "No Delphi/BCB/BDS/RAD-Studio versions was found that has the required dependencies installed.

    That means that the library search path registry/EnvOptions.proj were not set by the JCL installer.  Could it be that you are you using the "-rOtherRegistryKey" bds.exe command line options, so that the JCL installer adds its paths to the default registry hive instead of you special one?


  5. 11 minutes ago, ŁukaszDe said:

    Waiting for next version without errors!

    There is no IDEFixPack for Rio, yet. There is only the "not_even_alpha" Download with the comment that you shouldn't even come near the Win64 or Android compiler if you install it. That is a work-in-progress version that I uploaded only to help to identify a specific problem.

     

     

     

    • Like 1

  6. You can get rid of the failing CreateFile calls by using the attached IDEFixPack development snapshot. But you shouldn't come anywhere near the Win64 or Android compiler if it is installed. Only the Win32 compiler and IDE patches are already working (including the compiler directory cache that eliminates the unnecessary CreateFile calls).

     

    You can ignore the error messages during the splash screen that tell you that Win64 and Android patches couldn't be applied.

     

    IDEFixPackD103RegDev_not_even_alpha.7z

    • Like 2
    • Thanks 2

  7. 2 hours ago, Arnaud Bouchez said:

    Where this information came from?

    The code optimizer didn't get a loop unrolling feature.

     

    In the compiler's own code there are now some loops unrolled, that IDEFixPack used to replace by SSE instructions. The performance gain is not measurable but the IDEFixPack compiler patches couldn't find the function's memory addresses anymore.

     

    for I := 0 to 3 do
      A[I] := 0;

    became

    Zero := 0; // clear one CPU register for all the assignments, instead of clearing the same cpu register for every line.
    A[0] := Zero;
    A[1] := Zero;
    A[2] := Zero;
    A[3] := Zero;

     


  8. 41 minutes ago, Stefan Glienke said:

    Also from a few comments about the progress dialog alone affecting the duration of the compilation I have the strange feeling that inside the IDE the progress callback is wired a bit wrong (synchronous instead of asynchronous) causing unnecessary extra slowdown.

    Unless you use the external compiler, the compiler runs in the main thread and every time it updates the progress dialog it "pauses" the compilation. IDE Fix Pack reduces the slowdown a little bit by only updating the UI after a certain time interval or a filename change, thus not every "compiled lines" update repaints the UI.

     

    Quote

    The patches that went in 10.3 are mostly IDE related and not compiler related afaik.

    There are changes in the 64 bit compiler (e.g. some loop unrolling)

    • Like 1
    • Thanks 6
    • Sad 2
×