Niels Grewe
f264fd159d
Fix a segfault on (s|g)etting ivars.
...
When we were trying to get or set an ivar on a class that had
no ivars defined, we'd dereference a NULL ivar list while
determining the ownership qualifier.
10 years ago
Niels Grewe
a6e65cea04
Fix typo in test function
10 years ago
David Chisnall
4a59b2a986
Set up the new forwarding hook in the objc_msgSend test.
...
This is probably wrong, as we should be calling forward2 if forward3 is not set, but it makes the test pass for now.
10 years ago
David Chisnall
5cf6d6ac13
Make the message send test actually test thing things that it's supposed
...
to.
10 years ago
David Chisnall
8583fc7f61
Explicitly make char signed in the property introspection test. The C spec allows char to be either signed or unsigned. If it’s unsigned (as it is on ARM), then the test will fail with the wrong encoding.
10 years ago
David Chisnall
e8e5f1e254
Try calling the IMP directly before calling it indirectly in the block-as-method test.
...
This makes debugging *much* easier!
10 years ago
David Chisnall
7eeffe9d09
Rewrite the block-to-imp code so that:
...
- We reuse the memory allocated for blocks
- We no longer have the same physical page mapped write and execute
10 years ago
David Chisnall
0a847e10be
Tweak the message sending microbenchmark a bit so that it produces
...
output compatible with ministat.
10 years ago
David Chisnall
2777fea77a
Enable correct behaviour with respect to ARC for objc_{g,s}etIvar().
10 years ago
David Chisnall
57858add6e
Silence warning in test.
10 years ago
David Chisnall
dbdc26523c
Fix the property introspection test some more.
10 years ago
David Chisnall
5c21e73f26
Fix the property introspection test.
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
b581098831
Extend the objc_msgSend test to check for register saving.
...
Ensure, when we bounce out from the assembly into C and back again, that
the argument values are preserved. Tests 10 integer and 10 floating
point arguments, which should cover all of the argument registers and at
least one stack slot on all supported platforms.
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
David Chisnall
794ac2a3ee
Fix copy and paste duplication of a line.
10 years ago
David Chisnall
6a0f909e06
Don't use an obsolete header in a test.
10 years ago
David Chisnall
53bc9f3892
Fix the size of run-time generated root classes.
...
The size of the new class with should be sizeof(Class), not sizeof(struct objc_class).
10 years ago
Niels Grewe
c5ae4432e0
Be more lenient when accepting property encodings produced by clang. Cf. gnustep/libobjc2#5 .
10 years ago
Niels Grewe
1ac152032a
Merge branch 'master' into nil_exception
...
Conflicts:
Test/CMakeLists.txt
10 years ago
Niels Grewe
e121b34a9f
Check other exception handlers that should/shouldn't catch nil.
10 years ago
Niels Grewe
b2e7c50704
Fix throwing nil exceptions.
10 years ago
Niels Grewe
cbacd87632
Add missing changes
11 years ago
Niels Grewe
44627f69e7
Also fix method_getArgumentType(). Add test case.
11 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
7fde81e9b2
Fix include to work with make.
13 years ago
theraven
f50bc6cf33
Added support for tracing message sends to the runtime.
...
Currently x86-64 only.
13 years ago
theraven
3b9bbf296d
Fixed property introspection test for the more-expressive strings that clang
...
now produces.
This test is now expected to fail with slightly older clang.
13 years ago
theraven
c346ff1088
More header cleanups in the tests.
13 years ago
theraven
074fd1da56
Add path to Test.h to help Make builds.
13 years ago
theraven
193629d8a2
Fix a bug with blocks in ARC mode being incorrectly released.
13 years ago
theraven
57a9acb13c
Some test case cleanups.
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
0e90d9645d
Tweak the ManyManySelectors test case so that it doesn't hit a pathological
...
case in the selector hashing function and use insane amounts of memory.
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
63bdbc9440
Add another missing file...
13 years ago
theraven
0b883f2cc2
Add missing test.
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