Commit graph

25 commits

Author SHA1 Message Date
rfm
b78b2e2030 hash/map table and pointer functions fixups 2024-11-12 12:03:24 +00:00
rfm
6667842dd5 Update FSF address as requested by Gregory 2024-11-07 13:37:59 +00:00
Frederik Seiffert
a9d601746f Silence warning in GSIMap.h 2021-08-11 19:32:21 +02:00
Richard Frith-Macdonald
ec438b5733 minor indentation fixes 2020-01-27 10:19:36 +00:00
fredkiefer
d1cf30dd9f * Headers/GNUstepBase/GSIMap.h: Use GSI_MAP_NODE_IS_EMPTY macros
when checking in enumerator.
* Source/NSConcreteHashTable.m,
* Source/NSConcreteMapTable.m: Revert part of the weak pointer change.
2019-12-15 13:40:51 +01:00
David Chisnall
f957b21972 Rework some of the weak handling for NS{Map,Hash}Table.
The existing code was assuming that weak object pointers were safe to
read directly, without going via the read barrier, which is incorrect.
It was also attempting to retain the result in some places.  The new
code is hopefully somewhat more correct.
2019-11-25 10:40:16 +00:00
Richard Frith-Macdonald
9b8f8a8444 Replace lost edit spotted by Fred. 2017-06-19 07:07:13 +01:00
Richard Frith-Macdonald
c494785630 Fix GSI_MAP_NODE_IS_EMPTY macros as suggested
by Daniel Ferreira <bnmvco@gmail.com>
2017-06-17 07:13:55 +01:00
Richard Frith-MacDonald
d40d219015 removal of garbage collection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39608 72102866-910b-0410-8b05-ffd578937521
2016-03-25 11:15:28 +00:00
Richard Frith-MacDonald
14d22790b6 Another attempt to work with non-fragile abi
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38838 72102866-910b-0410-8b05-ffd578937521
2015-07-24 19:59:05 +00:00
Richard Frith-MacDonald
3b02814665 more updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38803 72102866-910b-0410-8b05-ffd578937521
2015-07-16 08:44:15 +00:00
Richard Frith-MacDonald
841ddf78e0 memory usage interrogation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38799 72102866-910b-0410-8b05-ffd578937521
2015-07-15 14:14:21 +00:00
Richard Frith-MacDonald
37acb000fd consistency tweaks and simplify documentation flags in make files by automatically adding most work map entries.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37629 72102866-910b-0410-8b05-ffd578937521
2014-01-23 09:36:37 +00:00
Richard Frith-MacDonald
53a553fb47 fix minor error in last NSData edit, some other minor issues,
and avoid more false positives.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36536 72102866-910b-0410-8b05-ffd578937521
2013-04-15 07:00:42 +00:00
Richard Frith-MacDonald
f371df09b6 more static analyser fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36532 72102866-910b-0410-8b05-ffd578937521
2013-04-14 18:49:23 +00:00
Richard Frith-MacDonald
97cecc058e tweaks to keep static analyzer happy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36527 72102866-910b-0410-8b05-ffd578937521
2013-04-14 16:25:27 +00:00
David Chisnall
18b53c8777 Calloc nodes in GSIMap instead of mallocing them. This ensures that their initial value is always zero and so can be released safely.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35924 72102866-910b-0410-8b05-ffd578937521
2012-12-27 12:42:56 +00:00
Richard Frith-MacDonald
35e02db554 tweaks for apple compiler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33790 72102866-910b-0410-8b05-ffd578937521
2011-08-26 11:15:35 +00:00
Riccardo Mottola
ff93804152 Additional cast to void* to keep OpenBSD compiler happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33757 72102866-910b-0410-8b05-ffd578937521
2011-08-16 22:14:36 +00:00
Fred Kiefer
716586a5cc Fix small bug introduced when switching to Macros.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33627 72102866-910b-0410-8b05-ffd578937521
2011-07-25 10:58:38 +00:00
David Chisnall
d2ea054c26 Lots of little fixes to make -base compile with -Werror (now builds without warnings).
Richard: I'm unsure about three of these, which were fixes in memset() calls in:
- NSConcreteMapTable.m
- NSConcreteHashTable.m
- Additions/NSData+GNUstepBase.m

Please can you check them?  I think they are intended to zero the entire object
(rather than the first word), but the lack of comments makes me unsure.

Most changes were just tweaks to variable types.  I've also removed some dead code from NSInvocation.  This was small group of things that were marked for internal use only, but not actually referenced in the code anywhere.

Other improvements:

- NSArray / NSDictionary fixed up to use the 10.7 (ARC-friendly) prototypes.
- getObjects:andKeys: implemented for NSDictionary (10.5 method)
- NSPointerArray and NSHashTable now properly support weak objects.
- Tests for weak objects in collections.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33621 72102866-910b-0410-8b05-ffd578937521
2011-07-24 13:09:22 +00:00
David Chisnall
bc37adfb0c Add support (and test) for weak keys and values in NSMapTable. This support should work in GC mode. It also works if the runtime supports ARC, even if the compiler does not use this support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33617 72102866-910b-0410-8b05-ffd578937521
2011-07-23 16:16:01 +00:00
David Chisnall
3e3d12b661 Added read / write barrier support to GSIMap.h. These define macros for reading and writing keys and writing values.
These are currently unused - the next commit will make NSMapTable use them.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33612 72102866-910b-0410-8b05-ffd578937521
2011-07-23 13:14:20 +00:00
Richard Frith-MacDonald
c0979f8d17 64bit safety fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32731 72102866-910b-0410-8b05-ffd578937521
2011-03-29 08:16:02 +00:00
Richard Frith-MacDonald
09bd40334c simplify header layout
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32545 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:52:37 +00:00
Renamed from Headers/Additions/GNUstepBase/GSIMap.h (Browse further)