81 Commits (9206f48bce61478c6fb845a0e30d7dd68930175e)

Author SHA1 Message Date
David Chisnall 0b5f66393a Add test for #32. 9 years ago
David Chisnall e87b5c1503 Remove an assertion that was useful in debugging, but not actually
correct.

Instance variables are not normally zero-sized, but some are.  Examples
include zero-length arrays at the end of a class, and bitfields.

Fixes #30
Fixes #31
9 years ago
David Chisnall 12d1ea62a4 Merge branch 'master' into newabi 9 years ago
David Chisnall d1eb9ad91e Ensure that asserts in the tests are still run, even in a release build.
Fixes #29
9 years ago
David Chisnall 4fd27a066f When moving ivars to increase their alignment, make sure later ivars are
also moved.

Fixes #27
9 years ago
David Chisnall 6df23377a0 Forcibly realign instance variables to take into account the padding
from the reference count.
9 years ago
David Chisnall f55c158be8 First pass at new Objective-C ABI. 10 years ago
David Chisnall 2777fea77a Enable correct behaviour with respect to ARC for objc_{g,s}etIvar(). 10 years ago
David Chisnall b5e12e914c Make PropertyIntrospectionTest2 use arc.
Recent versions of clang object to weak properties in non-ARC mode.
10 years ago
David Chisnall 8b1d4fbcc2 TEST is a keyword in if() statements in recent CMake, rename a variable to avoid a conflict. 10 years ago
David Chisnall 3135e30d71 Fix ARC assignment of blocks.
We were not correctly checking that the object being assigned had a
reference count in the object header.  We're also now avoiding assigning
small objects to the weak reference table, which is quite important as
they have no destructor.

Fixes #12
10 years ago
Niels Grewe 1ac152032a Merge branch 'master' into nil_exception
Conflicts:
	Test/CMakeLists.txt
10 years ago
Niels Grewe b2e7c50704 Fix throwing nil exceptions. 10 years ago
Niels Grewe cbacd87632 Add missing changes 10 years ago
David Chisnall a74542ae4f Add a test that hidden classes are correctly deallocated and don’t leave the runtime in an undefined state. 11 years ago
theraven bd0728f393 Fix a bug in weak reference handling, where weak refers were being removed from
the table incorrectly, causing objects inserted at offsets due to hash
collisions to fail to be moved up and then fail to be found later.

Test by Eric Wasylishen!
12 years ago
theraven 2c81ee0428 Allow ARC to correctly handle references to self from blocks within -dealloc. 12 years ago
theraven 2d0ae6b79b Add test for associated objects. 12 years ago
theraven edeb64095d Disable the failing test until it can be fixed properly. 13 years ago
theraven 16bfdc8ee6 Align ivars to 16 byte boundaries when they are larger than a pointer. This is
currently overly defensive.

Add a test case for this realignment.
13 years ago
theraven f50bc6cf33 Added support for tracing message sends to the runtime.
Currently x86-64 only.
13 years ago
theraven 193629d8a2 Fix a bug with blocks in ARC mode being incorrectly released. 13 years ago
theraven 58a574b34f Fixed a great many property introspection bugs and added test case.
Test case by Jean-Charles Bertin!
13 years ago
theraven eb234ea26a Fix the case where the number of selectors grows to more than 2^16 and we need
to fall back to 3-level dtables.  

Added a test case that registers far more selectors than a sane program
contains and tries to use them.
13 years ago
theraven fb2e6756f6 Fix (and add test case for) a bug where objc_allocateClassPair() failed if the
superclass had not yet been loaded.
13 years ago
theraven 65e3dc736c Added test of forwarding mechanisms. 13 years ago
theraven b757ea9ffb Tidied up tests, made them work with make as well as ninja generators for
CMake.
13 years ago
theraven 6317b79a10 Implemented the new exception ABI, and a load of tests for it. This is used by
clang trunk if -fobjc-runtime-1.7 is specified and provides significantly
better interoperability with foreign exceptions.

Note: Most of the exception tests will not pass with gcc or clang < 3.3.  They
test things that are impossible to implement quite correctly with the
GCC-compatible exception ABI.

Also updated the release notes to reflect recent improvements.
13 years ago
theraven aeb0c913b9 Enabled property attribute test, fixed failure. 13 years ago
theraven ef5f8b744d Added more test cases. 13 years ago
theraven d1336543d8 Build with exceptions (fixes the issue with crashes where +initialize throws)
Start adding the tests to CMake.
13 years ago