Description: rtl-generics

This file as text.
(active) Revisions in this set:
c9c2a1d30d0f7d25278f98621185c397714bf8d0,59d0af7f654e14101c3db04fd7f1f9d5baf29fca,dfa22fb53ad7bfcdf8d2f4d51c11544be69fde19
97495e93b85abce67c50d097bc09e254bd3ab2d5,e107aa5b5e0ea1dffa18359075d7f0d50836edf8,259af2d25215b2ef1f58db9986b5d1f59b5f77ed
fc29d5ca7d7c66d5d1c5cfb6eb60e4f5fd5e428c,088f394440ca4f75a0aad1394bc6007814579711,5d65194777d52c2e8b1d31a22950d4e0c1edfc4b
a2826343bbda17b2063e06c511e83e36cd9cd3e8,72a3729ca09cb7d13025259cc8094f3d6686f694,63b3f696cf57be3b92ce77d3916cfd3db42e9d9c
7e0060e7ece6a821b6de429158fc5707b3abfaf1,97929c3f50fae8f509caa264261b0c644f6aa62c,0a2ab423e5f8299d1c9f9fe6af9be3cd0e0efd26
375369ce518bb6df9677cd8b8cad0290944ebabd,6c1f738f0d2cd209e297f0462f0b9f2a3a3248dc,45e454f268eca06906f4f0efc19571924d08f003
08405bb0cc72548d8905a3d3dcc54640a9f0ca4b,cf3b76190a58feee762d9172f98d632932b4255b,99ea1d506faa3d3484ebe2bae5e57c07b2920f1f

Clicking a revision will expand files
 


* Enable compilation for webassembly
Commit consists out of
  • M packages/rtl-generics/src/generics.hashes.pas


* Added Delegatedcomparer for Delphi compatibility
Commit consists out of
  • M packages/rtl-generics/src/generics.defaults.pas

reference to syntax



* Add function reference version of TComparer.Construct
Commit consists out of
  • M packages/rtl-generics/src/generics.defaults.pas

function references



* Delphi compatible TCollection.Sort() using helper
Commit consists out of
  • M packages/rtl-generics/src/generics.defaults.pas
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/collect.inc


* patch by foxpas to disable use of crc32 instructions on x86_64-darwin as they apparently don't work, resolves gitlab 0040344
Commit consists out of
  • M packages/rtl-generics/src/generics.hashes.pas


* When raising error, display missing key value as string, if possible
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas
  • M packages/rtl-generics/src/generics.strings.pas

requires (extended?) rtti



* More routines need to display missing key name
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas
  • M packages/rtl-generics/src/generics.strings.pas
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc


* Implement TList.pack. Patch by Alexander Bagel. Fixes issue gitlab 0040927
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas
  • A tests/tbs/tb9000.pp

function references



* TList<>.Pack() with method pointer parameter already passes Default(T) to the check function, so use R instead of Default(T) in the Pack() overload without method pointer
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas


- remove unnecessary subclassing inside TCustomAVLTreeMap<>
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas

Subclassing is necesary for fixes it seems.



- remove further unnecessary sub classing of a specialization
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


Reuse hash and bucket-index in TDictionary.TryAdd and AddOrSetValue
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


Add GetOrAddMutableValue to TDictionary.
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


Reuse existing hash in TDictionary.Rehash
- For all dictionary classes where the hash does not change if the dictionary grows: If the bucket-index can be found using just the hash then GetHashCode does not need to be executed.
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


Add GetKeyFromBucket and GetValueFromBucket to TDictionary.
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


Add overloaded FindBucketIndex also returning the hash to TDictionary.
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc


* Improve alignment of lock on wasm
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas


* Correct some wrongly fixed typos
Commit consists out of
  • M packages/pasjpeg/examples/cdjpeg.pas
  • M packages/rtl-extra/src/aros/sockets.pp
  • M packages/rtl-generics/src/inc/generics.dictionariesh.inc
  • M packages/winunits-jedi/src/jedi.inc
  • M packages/winunits-jedi/src/jwadhcpssdk.pas
  • M packages/winunits-jedi/src/jwawinsta.pas


* Always call inherited destructor
Commit consists out of
  • M packages/rtl-generics/src/generics.collections.pas


Fix(rtl-generics): clear FQueue.FIdx in TDeamortizedDArrayCuckooMap.Clear

After Clear, FQueue.FItems was set to nil but FQueue.FIdx (the index list
tracking queue item positions) was left with stale entries. The next Add
call would InsertIntoBack a new item into the freshly allocated FItems,
then Pop would dequeue a stale index and pass it to DoRemove, causing an
out-of-bounds access and SIGSEGV.
Commit consists out of
  • M packages/rtl-generics/src/inc/generics.dictionaries.inc


Add FORCE_X86_CPUINTEL macro to undefine DISABLE_X86_CPUINTEL
Commit consists out of
  • M packages/rtl-generics/src/generics.hashes.pas