object
replacesinstantiate
as a fast methodid- the foundation allocator is now a pointer and no longer a struct, which makes replacement easier
- added
MULLE_OBJC_DEPENDS_ON_CATEGORY
macro
- remove duplicate objc-loader.inc
- new mulle-sde project structure
- change prefix from
MulleObjCObject
toMulleObjCInstance
, where the object can only be an instance and not a class - change prefix from
MulleObjCObject
toMulleObjCClass
, where the object can only be a class and not an instance - force serialization for NSThread notifications (via
_isProbablyGoingSingleThreaded
and ``_isGoingMultiThreaded)
- You can now use
MulleMakeFullRange
or { 0, -1 } to specify { 0, [self length] } MulleObjCValidateRangeAgainstLength
now returns a range (it can change, if range.length was -1)- fix some new bugs introduced by the NSThread rewrite
- NSPushAutoreleasePool takes a parameter (which is ignored) added
_MulleAutoreleasePoolPush
that accepts a proper universeid for future use by the compiler - redid NSInvocation so that the MetaABI block is aligned to at least alignof( double long)
- redid NSThread so that it is now possible to "escalate" a C
mulle_thread_t
to an ObjC thread - renamed MulleObjCGetClassExtra to MulleObjCClassGetExtraBytes ( but don't use it ;))
- renamed MulleObjCGetInstanceExtra to MulleObjCInstanceGetExtraBytes
- added
MulleSELMapKeyCallBacks
andMulleSELMapValueCallBacks
- moved
NSMutableCopying
into MulleObjC - add some optional methods to NSCoding protocol
- C-based vectorizable exceptions are now part of MulleObjC (like ``_MulleObjCThrowInvalidArgumentException
)
MulleObjCHash
has moved into MulleObjC- renamed
MulleObjCCallIMP
toMulleObjCIMPCall
for consistency - renamed
MulleObjCPerformSelector
toMulleObjCObjectPerformSelector
for consistency - added
MulleObjCAutoreleasedCalloc
function - added
MulleObjCObjectSetDuplicatedCString
function - fixed/documented calling
[super forward:]
, which needs to be done in C! - allow finer control of argument handling by NSThread to support threadpools and the like
- added
object
(not!mulleObject
) method to NSObject as the default convenience constructor, replacing alloc/init/autorelease - fixes for NSMethodSignature and NSInvocation
- prefix/rename some non-standard methods and functions with mulle
- The main NSThread can now effectively wait for other NSThreads at exit
- added a missing file MulleObjCProtocol
- add asserts that singletons aren't nil when alloced
- moved some NSRange tests to mulle-container
- experimentally added MulleObjCValue and MulleObjCImmutable protocols
- fix memory clobber in NSInvocation
- added MulleThreadSetCurrentThreadUserInfo and MulleThreadGetCurrentThreadUserInfo functions
- fastmethods reshuffle, added objectForKey: and :
- new NSObject method -mulleContainsProtocol (doesn't ask superclass)
- moved startup code into own library MulleObjC-startup
- NSRunLoop is now using an instance variable in NSThread instead of the userInfo
- new NSThread method +mulleIsMultiThreaded, it knows if you are single-threaded or not
- uncaught exceptions now use abort instead of exit
- singletons return nil during universe deinitialization
- readonly properties aren't cleared anymore for compatibility
- remove mistakenly added craftinfo
- rename MulleObjCGetClass to MulleObjCObjectGetClass and SetClass too
- remove PROTOCOLCLASS warnings with
_Pragma
- added MulleObjCClassGetLoadAddress
- NSFastEnumeration gains -count as member
- Improved NSRange validation with tests
- modernized mulle-sde with .mulle folder
- adapt to changes in 0.14.0
- reworked the universe configuration to make it easier to understand
- moved some of the convenience debug code from mulle-objc-runtime to MulleObjC
- MulleObjC is now universe aware
- restructured project and implemented a lot of the new naming scheme
- moved compiler and runtime tests to mulle-objc-runtime
- migrated to mulle-sde
- Separate startup from standalone
- fixes for mingw
- some changes to compile with mingw
- adjust to new hashing algorithm in runtime
- improve dealloc speed in certain cases
- fix possible alignment problem in NSMethodSignature
- the idea with "supreme" calls was nipped in the bud
- adapt to changes in mulle-objc-runtime
- adapt to changes in mulle_objc_runtime
- make it a cmake "C" project
MULLE_OBJC_COVERAGE
can be set to dump coverage information
- modernize project
0.8.4
- community release
0.8.3
- adapted to changes in the
mulle_objc_runtime
- renamed internal class states to NS
0.8.1
- removed KVC support, to be transferred into its own library
- adapted to changes in the
mulle_objc_runtime
0.6.1
- added the MulleObjCLoader class
- removed all
nonnull
from methods. An oversight from the past... - added MulleObjCRuntimeObject for easier structure
0.4.1
- Moved NSCoder to MulleObjCFoundation
- Adapt to changes in the mulle_objc_runtime
- The Foundation can configure the exception type if so desired
- there is now no default
+initialize
method in NSObject! - Introduced
mulle_objc_break_exception
as a convenient place to break for.
Adapt to changes in the mulle_objc_runtime
Merge in community changes
Fix dependency
Community release of 0.1.3
Merge community release, fix GCC_VERSION
Community beginning
A new beginning