Richard Frith-MacDonald
a0c97c1ddd
deprecate confusing extension in favour of simpler ARC-complient method
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39520 72102866-910b-0410-8b05-ffd578937521
2016-03-10 16:50:41 +00:00
Richard Frith-MacDonald
ce29f2223d
Further correction to latin1 conversion
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39299 72102866-910b-0410-8b05-ffd578937521
2016-01-21 12:42:43 +00:00
Richard Frith-MacDonald
912fbca179
Fix error copnverting utf8 constant string to latin1 data
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39298 72102866-910b-0410-8b05-ffd578937521
2016-01-21 12:27:25 +00:00
Niels Grewe
17d379a59a
Optimise appending UTF-16 strings for formatting
...
If the string being appended to already uses unichar as the underlying
character type, append the new characters using memcpy() instead of
looping over them individually. Also includes test cases to verify that
nothing breaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38969 72102866-910b-0410-8b05-ffd578937521
2015-09-04 09:48:07 +00:00
Richard Frith-MacDonald
78c05bfc01
Avoid compiler warnrings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38888 72102866-910b-0410-8b05-ffd578937521
2015-08-16 10:42:48 +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
8e93dc85d3
More experimental code changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38801 72102866-910b-0410-8b05-ffd578937521
2015-07-15 15:26:29 +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
9d6729f4a7
remove a little unused code
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38556 72102866-910b-0410-8b05-ffd578937521
2015-05-26 12:19:02 +00:00
Richard Frith-MacDonald
a43250585a
fix sign extension error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38549 72102866-910b-0410-8b05-ffd578937521
2015-05-26 09:56:55 +00:00
Richard Frith-MacDonald
5ab0c3a6c7
Implement -mutableCopyWithZone: for tiny strings.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38543 72102866-910b-0410-8b05-ffd578937521
2015-05-25 18:13:10 +00:00
Richard Frith-MacDonald
293606cda5
more utf8 optimisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38542 72102866-910b-0410-8b05-ffd578937521
2015-05-25 17:55:51 +00:00
Richard Frith-MacDonald
83dda5160c
some optionisation of string equality test ... don't compute hash of string
...
unless the string is large enough to make it worthwhile.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38541 72102866-910b-0410-8b05-ffd578937521
2015-05-25 14:51:02 +00:00
Richard Frith-MacDonald
493a170d6a
Another small optimisation for string creation ...
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38540 72102866-910b-0410-8b05-ffd578937521
2015-05-25 11:47:13 +00:00
Richard Frith-MacDonald
1fbfe0cdf6
Small optimisation for creating NSString from UTF8 C string
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38539 72102866-910b-0410-8b05-ffd578937521
2015-05-25 11:11:24 +00:00
Richard Frith-MacDonald
ca40ca54c2
minor performance tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38530 72102866-910b-0410-8b05-ffd578937521
2015-05-24 14:12:42 +00:00
Richard Frith-MacDonald
696c4dd7a3
check to see if we should free memory
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38529 72102866-910b-0410-8b05-ffd578937521
2015-05-23 21:35:03 +00:00
Richard Frith-MacDonald
19ba70e988
Another tiny string optimisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38525 72102866-910b-0410-8b05-ffd578937521
2015-05-22 16:24:27 +00:00
Richard Frith-MacDonald
d8e9f81945
Some string optimisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38518 72102866-910b-0410-8b05-ffd578937521
2015-05-22 14:28:08 +00:00
Richard Frith-MacDonald
dee7d0fae5
Fixups to get acceptable performance from TinyString objects.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38476 72102866-910b-0410-8b05-ffd578937521
2015-05-05 11:54:14 +00:00
Richard Frith-MacDonald
245e957635
fix for bug #42483
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37934 72102866-910b-0410-8b05-ffd578937521
2014-06-01 18:08:44 +00:00
Richard Frith-MacDonald
ed09c55959
leak detection improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
da4f7056ca
printf style format tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36799 72102866-910b-0410-8b05-ffd578937521
2013-07-02 15:46:26 +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
Richard Frith-MacDonald
d314f0f843
experiment with slower but better hashes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36344 72102866-910b-0410-8b05-ffd578937521
2013-03-12 16:11:10 +00:00
Richard Frith-MacDonald
a8559c5c18
avoid a couple of warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36280 72102866-910b-0410-8b05-ffd578937521
2013-03-05 16:20:10 +00:00
Richard Frith-MacDonald
75661de25e
fix for overrun when searching backwards (spotted by Fred using valgrind)
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36204 72102866-910b-0410-8b05-ffd578937521
2013-02-28 12:51:27 +00:00
David Chisnall
6f84df52c2
Add missing retainCount methods for small objects.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36034 72102866-910b-0410-8b05-ffd578937521
2013-01-29 18:42:23 +00:00
Richard Frith-MacDonald
7dc7161748
fix range error in last substring creation change
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35940 72102866-910b-0410-8b05-ffd578937521
2013-01-08 21:59:38 +00:00
Richard Frith-MacDonald
9adb6e80dd
tiny optimisation to allow intermeidate substrings to be released earlier
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35939 72102866-910b-0410-8b05-ffd578937521
2013-01-08 08:25:18 +00:00
Richard Frith-MacDonald
fb2b132662
tidy indentation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35938 72102866-910b-0410-8b05-ffd578937521
2013-01-07 21:39:35 +00:00
Richard Frith-MacDonald
c8d2192a54
poatches by Marcus and Stefan
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35906 72102866-910b-0410-8b05-ffd578937521
2012-12-18 09:00:40 +00:00
Richard Frith-MacDonald
0be505308d
simplification, including use of strtoull() everywhere
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35503 72102866-910b-0410-8b05-ffd578937521
2012-09-03 13:36:45 +00:00
David Chisnall
6f2704bdb4
Conditionally compile profiling / debugging code.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35448 72102866-910b-0410-8b05-ffd578937521
2012-08-25 14:01:56 +00:00
David Chisnall
e30ebe3149
Fix the build on platforms without tiny string support.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35447 72102866-910b-0410-8b05-ffd578937521
2012-08-25 12:31:41 +00:00
David Chisnall
bbc86d4f31
Use tiny strings in a few more places.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35446 72102866-910b-0410-8b05-ffd578937521
2012-08-25 12:15:11 +00:00
Richard Frith-MacDonald
6f9b24af1e
simplify case conversion options
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35364 72102866-910b-0410-8b05-ffd578937521
2012-08-08 16:54:08 +00:00
Richard Frith-MacDonald
5b9f85a875
fix bad return inside exception block.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35363 72102866-910b-0410-8b05-ffd578937521
2012-08-08 15:10:13 +00:00
Richard Frith-MacDonald
9fcfba64a2
literal string handling improvments.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35359 72102866-910b-0410-8b05-ffd578937521
2012-08-08 09:46:08 +00:00
Riccardo Mottola
b02052b792
Do not include malloc on OpenBSD to avoid warning
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35104 72102866-910b-0410-8b05-ffd578937521
2012-04-22 19:00:27 +00:00
Richard Frith-MacDonald
592f8b39c8
compatibiulity fix for 35699
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34865 72102866-910b-0410-8b05-ffd578937521
2012-03-02 19:01:30 +00:00
Richard Frith-MacDonald
8e79a9764f
avoid a few warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34665 72102866-910b-0410-8b05-ffd578937521
2012-01-30 11:31:40 +00:00
Riccardo Mottola
6e1bdad49f
Fix blocking compiler warning (ggc 4.5.3)
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34327 72102866-910b-0410-8b05-ffd578937521
2011-12-19 23:04:04 +00:00
Richard Frith-MacDonald
bc4151c775
get base to compile again, and improve readability/consistency
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34184 72102866-910b-0410-8b05-ffd578937521
2011-11-17 06:11:36 +00:00
David Chisnall
d728c938b2
Store tiny strings (up to 8 ASCII characters) inside the pointer. Strings of
...
this length are fairly common, and this makes them very cheap to store / copy /
compare (pointer comparisons test for equality). 8 characters seems to be
enough for quite a lot of common uses, such as path components and tokens.
There are possibly still some things constructing tiny strings and not using
these.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34181 72102866-910b-0410-8b05-ffd578937521
2011-11-16 20:48:50 +00:00
Richard Frith-MacDonald
de6e9cf7fc
Literal string equality tests ... implement another optimisation, plus one
...
spotted by Fred, plus a fix for another bug spotted by Fred!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34102 72102866-910b-0410-8b05-ffd578937521
2011-11-01 11:43:40 +00:00
Richard Frith-MacDonald
307b4c2acb
improve literal string optimisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34101 72102866-910b-0410-8b05-ffd578937521
2011-11-01 09:43:25 +00:00
Richard Frith-MacDonald
d8f925828c
fix bug spotted by fred
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34094 72102866-910b-0410-8b05-ffd578937521
2011-10-31 10:00:29 +00:00
Richard Frith-MacDonald
a59695c097
Implement optimisations suggested by Fred's vcachegrind profiling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34093 72102866-910b-0410-8b05-ffd578937521
2011-10-31 08:12:26 +00:00
Richard Frith-MacDonald
d3a44df7f7
tweak for more efficient string handling
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34084 72102866-910b-0410-8b05-ffd578937521
2011-10-28 15:02:46 +00:00