410 Commits

Author SHA1 Message Date
theraven
4f31ed8acd Some tweaks to optimisation order. 2011-05-15 13:06:05 +00:00
theraven
2912bae0a7 Ooops, another debugging line left in which caused a pass not to run... 2011-05-14 18:01:38 +00:00
theraven
b7986e9efa Ooops. Accidentally left the bit that actually did the optimisation commented out. 2011-05-14 17:21:39 +00:00
theraven
8f423d0e29 Fix non-fragile ivar short-circuiting (i.e. hard-code the CORRECT ivar addresses, don't make foo and foobar have the same offset). 2011-05-14 16:12:46 +00:00
theraven
5705845e98 Fixed some bugs with the optimisation passes and introduced support for automatically running them (requires LLVM 3 + a patch that is not yet in trunk, but should be soon). 2011-05-14 15:32:26 +00:00
theraven
dd81cda462 Fix autocompletion bug. 2011-05-11 10:44:34 +00:00
theraven
76d36e88eb Fix bug in selector type hashing algorithm. We can't use the numbers, because people don't always provide them correctly. 2011-05-07 09:40:33 +00:00
theraven
b4eefb5cf2 Created 1.4 release announcement. 2011-05-06 12:32:36 +00:00
theraven
84fdd38b98 Some tweaks to the release announcement. 2011-05-05 21:01:36 +00:00
theraven
34aa9f9455 Allowed LLVM optimisations to build against both LLVM 2.9 and LLVM 3.0. 2011-05-05 20:49:47 +00:00
theraven
f6697e5f86 Remove spurious &s. 2011-05-05 11:24:45 +00:00
theraven
5b77c3e694 Add +class and -self to Protocol. PyObjC breaks if these don't exist. 2011-05-04 17:27:17 +00:00
theraven
d12de81cd6 Remove opts from default build - they must now be explicitly built.
Don't crash if objc_disposeClassPair() is called on a class that is not get
registered with the runtime.
2011-05-04 12:53:04 +00:00
theraven
be68d81286 Check that the LLVM source directory exists before changing to it. 2011-04-30 12:38:34 +00:00
theraven
34d4c6b12e Updated release announcement. 2011-04-29 14:46:37 +00:00
theraven
76ef007766 Actually return the correct value in case of races. 2011-04-29 11:21:59 +00:00
theraven
94f72f539b Fixed thread safety for constructing property attributes. 2011-04-29 11:19:42 +00:00
theraven
8ee4d9c38a Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces. 2011-04-28 20:36:36 +00:00
theraven
c6f0651609 Implemented objc_copyProtocolList(). 2011-04-28 18:53:11 +00:00
theraven
79b67ad044 Added missing ivar access functions. 2011-04-28 18:39:48 +00:00
theraven
12385fcb1e Tidy up low memory profile to use slots directly. 2011-04-28 11:59:18 +00:00
theraven
535ba87a8e Store the selector, not the type encoding, in slots. 2011-04-22 12:13:28 +00:00
qmathe
bd48461fb9 Fixed GNUmakefile to ensure legacy symbols are visible 2011-04-22 12:02:56 +00:00
theraven
15ddbdfd71 Added meta-pass that runs all of the LLVM optimisations. 2011-04-22 12:01:28 +00:00
theraven
928e7f3971 Try again... 2011-04-22 11:51:15 +00:00
theraven
6d112bb632 Don't accidentally default to compiling without legacy compat. 2011-04-22 11:45:44 +00:00
theraven
649ce9dd7f Updated release announcement.
Made the LLVM optimisations build by default (if LLVM is installed).
2011-04-22 11:38:16 +00:00
theraven
9d5452b147 Fixed LLVM passes to compile with recent LLVM.
Made class caching pass cache classes in a static variable if the original class is not available.
2011-04-22 11:06:33 +00:00
theraven
52381f163b Make sure locks are initialised before using them and destroyed afterwards. 2011-04-20 12:45:15 +00:00
theraven
975596f764 Updated documentation. 2011-04-20 09:59:41 +00:00
theraven
709f238364 Sync on the metaclass, not the class, since that's what we're actually testing... 2011-04-20 09:40:48 +00:00
theraven
f9d1b5f356 Clean up the low memory profile. Now passes all GNUstep-base and EtoileFoundation tests, just like the default profileand uses 5-10% less (total) RAM in GORM. Worth benchmarking to see how much performance this costs.
Updated the release announcement.
2011-04-19 16:27:58 +00:00
theraven
f0974cb415 Cosmetic fix - use the correct union field, not an explicit cast. 2011-04-19 14:58:44 +00:00
theraven
789219a2cb Expose the low memory profile as an option in the dtable. 2011-04-19 10:55:59 +00:00
theraven
4fc7030973 Remove some obsolete FIXMEs. 2011-04-19 10:55:35 +00:00
theraven
7b49755964 Dtable cleanup cleanups. 2011-04-19 10:55:10 +00:00
theraven
f5f0816777 Make the selector hash depend on the types as well as the name - should reduce
hash collisions between typed and untyped versions.
2011-04-19 10:54:00 +00:00
theraven
c6556fd230 Remove FIXME that was fixed in last commit. 2011-04-19 09:57:52 +00:00
theraven
bad36445e3 Improve efficiency of dtable updates from categories.
Make +initialize sending exception safe.
2011-04-19 09:50:41 +00:00
theraven
9fd1d26c00 Removed debugging statement that should not have been added in the first place... 2011-04-19 09:29:50 +00:00
theraven
af85d8496d Actually wait for +initialize to finish before allowing any thread to send a message to a class (I broke this when I rewrote the dtable code to use a per-class lock - the lookup forgot to acquire the correct mutex.) 2011-04-18 17:30:24 +00:00
theraven
d7056f6de2 Simplify @synchronize() and improve efficiency (space and time). 2011-04-17 18:04:58 +00:00
theraven
5ea9367f3d Tweak alignment. 2011-04-17 17:31:56 +00:00
theraven
987ab88a94 Don't do hidden-class transforms for classes, just dangle the look-aside data off the class structure.
Individually lock classes so that +initialize can be sent concurrently to two different classes in two different threads.
2011-04-17 17:31:37 +00:00
theraven
24de067017 Default to building without the legacy APIs, now GNUstep doesn't require them. 2011-04-15 12:08:49 +00:00
theraven
32e6715106 Started updating ANNOUNCE for the next release. 2011-04-15 11:47:09 +00:00
theraven
e198597bd3 Added support for associative references. Modified sync code to use this. 2011-04-15 11:20:37 +00:00
theraven
d51500184c More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts. 2011-04-14 16:44:34 +00:00
theraven
6c7cf4a5a6 Add visibility attributes on all internal functions so that we aren't ever exporting them outside of libobjc. 2011-04-14 12:25:17 +00:00
theraven
c2f572f9a1 Set the makefiles in trunk back to non-release mode. 2011-04-14 09:51:49 +00:00