1143 Commits (eab35fce379eb6ab1423dbb6d7908cb782f13458)
 

Author SHA1 Message Date
David Chisnall 77df8d3d92 Remove debugging line. 10 years ago
David Chisnall afc784175c Update release notes for last commit. 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 666c2493ec Work in progress tweaks to the release announcement. 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 bfe5de572e Fix the ivar access functions for objects that are not pointer sized. 10 years ago
David Chisnall dbdc26523c Fix the property introspection test some more. 10 years ago
David Chisnall 7d29bdc84a Use register names that don't make LLVM whine, rather than the correct
ones.
10 years ago
David Chisnall 83913c329f Fix the CFI directives in the MIPS objc_msgSend implementation.
The frame adjustment was incorrect and there was nothing indicating
where %ra was saved, which prevented unwinding.
10 years ago
David Chisnall d44bf5655b Ensure that objects that support ARC will use ARC, even if they are
created without sending a message to the class.

Also ensure that protocols are always valid objects so that ARC doesn't
become confused.
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 f1c323b0a2 Add (untested!) updates to the MIPS / ARM asm paths. 10 years ago
David Chisnall f06508bfd9 Fix typo in comment. 10 years ago
David Chisnall 5dd82df81e Fix x86-32 objc_msgSend for new sarray structure. 10 years ago
David Chisnall 5107130277 Move the data for sparse arrays into the tree structure.
This saves one load on the message send path for each tree depth (2
loads in the common case, 3 if you have a lot of selectors), which
should improve cache usage considerably.

Note: This is a checkpoint commit.  Currently, every objc_msgSend()
implementation except for x86-64 is broken.
10 years ago
David Chisnall de8e5f26ee Use a simple C array for the selector types list.
The sparse array is not a particularly good fit.  It allowed us to do a
few things without locking, but those things were not on the critical
path anyway and it added complexity and memory usage for little gain.

This removes the only non-dtable user of the sparse array, which should
mean that we're able to optimise the sparse array for that single use a
bit better.
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 2f57b0b688 Tweak the block trampolines to work with the win64 calling convention (untested!). 10 years ago
David Chisnall 76ed20acdb Remove build systems that were deprecated a long time ago. 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 84c0bfe7b0 Fix two small bugs in the hopscotch hash that meant that moving elements near the end of the array sometimes caused them to become lost. 10 years ago
Niels Grewe 2795950ef5 Re-add ghostly .travis.yml 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
davidchisnall d3bcc30e92 Merge pull request #8 from ngrewe/gcc_atomics
Set -march flag for atomic operations builtins even when not compiling with clang
10 years ago
Niels Grewe 5a7fcc0165 Remove .travis.yml for clean patch 10 years ago
Niels Grewe 40b7f872e9 Also specify -march=i586 when compiling with gcc 10 years ago
Niels Grewe f1c58120b9 Remove bogus workaround for build system issue 10 years ago
Niels Grewe 8b5e85a95c Set the -pthread compiler flag when pthreads is used.
Apparently, setting -lpthread is not enough to convince gcc to actually
link a thread library, so if we are using pthreads, set the -pthread
flag as well. It fixes the gcc situation and doesn't have any adverse
effects for clang either.
10 years ago
Niels Grewe 57856fb507 Merge remote-tracking branch 'upstream/master' 10 years ago
Niels Grewe 9ed74c2859 Merge branch 'property_encoding' 10 years ago
davidchisnall b55071b370 Merge pull request #6 from ngrewe/property_encoding
Be more lenient when accepting property encodings produced by clang
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 9c62645bf1 Be more lenient when accepting property encodings produced by clang. Cf. gnustep/libobjc2#5. 10 years ago
Niels Grewe f4b83fbd53 Merge remote-tracking branch 'upstream/master' 10 years ago
Niels Grewe 92d29b963a Test travis 10 years ago
davidchisnall 27933a9be7 Merge pull request #4 from ngrewe/nil_exception
Fix throwing nil exceptions.
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
davidchisnall 3443925636 Merge pull request #3 from ngrewe/master
Fix returning argument types from methods.
10 years ago
Niels Grewe dbf392ce99 Move indexing fix into findParameterStart() 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
Niels Grewe abb0d1e931 Fix returning argument types from methods. 11 years ago