Commit Graph

  • 17bc6363b2 And another draft... theraven 2010-10-04 15:35:39 +0000
  • dbc96b92f3 Second draft ANNOUNCE. theraven 2010-10-04 15:33:18 +0000
  • a0e000b483 Added basic synchronized and exception tests that fail for me whether I use Clang or GCC to compile the test suite qmathe 2010-10-04 15:30:40 +0000
  • 60b4be0f4e First draft of 1.0 release announcement. theraven 2010-10-04 15:27:09 +0000
  • ee32f78b0a Tweaked the GNUmakefile to (more or less) work with gcc. theraven 2010-10-01 13:11:48 +0000
  • 71b4b0df3b Fix off-by-one error in encoding parsing. theraven 2010-09-29 18:18:45 +0000
  • 911b9142cd Added missing header (unwind.h, from libunwind) theraven 2010-09-29 18:15:37 +0000
  • 39b0655877 libobjc2: another makefile hack to get mingw to declare strdup ericwa 2010-09-29 04:17:50 +0000
  • 56341816a5 libobjc2: Makefile hack to get the __sync_* GCC builtins to work on Windows ericwa 2010-09-29 02:07:51 +0000
  • 5238f95a77 libobjc2/Test: use # instead of __STRING in test macro ericwa 2010-09-29 02:06:33 +0000
  • b6abe490ab Remove some obsolete comments. theraven 2010-09-26 21:32:22 +0000
  • d56930241e Stylistic fixes ericwa 2010-09-26 19:39:39 +0000
  • 85c07b836e Fix some warnings with -Wextra. theraven 2010-09-26 09:28:04 +0000
  • 83028de810 libobjc2: improve the test program a bit ericwa 2010-09-26 01:34:26 +0000
  • 879f5aa300 libobjc2: add Xcode project for RuntimeTest ericwa 2010-09-25 21:04:20 +0000
  • 64362dd3ad libobjc2: add a Test subdirectory with a preliminary test of the runtime API ericwa 2010-09-25 21:01:36 +0000
  • ed1c9d41eb libobjc2: Add a pile of NULL checks. In general, any public function should be able to handle NULL for any object/class/selector/pointer to opaque structure without blowing up. ericwa 2010-09-25 20:56:19 +0000
  • 7e1debfec4 Fix indenting in last commit. theraven 2010-09-25 11:04:05 +0000
  • 8e95b6f637 Fix warnings with GCC. Patch by TOM, tweaked to not introduce errors with clang. theraven 2010-09-25 10:52:01 +0000
  • ede0756942 Version of r31403 that actually works. theraven 2010-09-24 16:59:52 +0000
  • aea0cc7c4e Work around idiocy with type encodings. theraven 2010-09-23 15:55:40 +0000
  • acb125fbb8 Fix sel_isEqual() when passed a NULL selector. theraven 2010-09-22 20:26:14 +0000
  • c7673659bb added package information to the makefile rmottola 2010-09-22 10:37:10 +0000
  • 025688a2d5 Added property_getName(). Added non-portable API documentation. theraven 2010-09-21 13:51:47 +0000
  • d70523947b Implement some missing runtime functions. theraven 2010-09-21 13:05:24 +0000
  • 9c077368a8 Make sel_copyTypes_np() return the number of types in all cases. theraven 2010-09-20 21:27:11 +0000
  • a029fb2af3 Expose sel_copyTypes_np(). theraven 2010-09-20 10:38:53 +0000
  • 60e0fa9f95 Ensure that sel_getName() on two selectors with the same name always returns the same string. theraven 2010-09-19 16:28:39 +0000
  • 7ce5a0ab11 libobjc2: make Object.h include runtime.h ericwa 2010-09-18 18:33:10 +0000
  • 84fd691944 Make adding more than one ivar with class_addIvar() work... theraven 2010-09-18 18:23:49 +0000
  • e1562b28d4 Correctly calculate the offset when adding ivars. theraven 2010-09-18 16:33:34 +0000
  • 9e64fb7828 undo accidentally commited stuff ericwa 2010-09-16 04:57:56 +0000
  • dbb8ea2090 add deprecated sel_eq function for compatibility ericwa 2010-09-16 04:53:16 +0000
  • 033676b9e7 Enable type-dependent dispatch by default. Stack corruption is bad, m'kay? theraven 2010-09-14 16:02:29 +0000
  • 18e8d1bfc1 Add Makefile. This compiles libobjc2 without the need for GNUstep Make (or even GNU make), so should make bootstrapping a bit easier. theraven 2010-09-14 10:47:45 +0000
  • 2d1add48e5 Updated libobjc2 README. theraven 2010-09-14 10:46:40 +0000
  • c604289023 libobjc2: define SEL as const for GCC ericwa 2010-09-09 22:26:07 +0000
  • b1aa77e450 Commit some missing files. theraven 2010-09-09 22:11:31 +0000
  • 8f857ae5d3 libobjc2: Change sel_getUid to just call sel_registerName (compatible with OS X 10.0 onwards) ericwa 2010-09-09 16:40:24 +0000
  • eb48fda62b Expose a function needed by GNUstep. theraven 2010-09-09 16:06:48 +0000
  • e2d848467c Another try... theraven 2010-09-09 12:01:37 +0000
  • 00004fe5f3 More tweaks to the GNU-compatibility encoding stuff. This API is too broken to use, but GNUstep seems to want it. theraven 2010-09-09 12:00:19 +0000
  • 0177ef56e1 Tweak the type encoding stuff a bit. theraven 2010-09-09 11:41:50 +0000
  • 5885fd196a Add defines for ObjC types (GNUstep apparently uses them, even though they are not part of the language spec, but the things that they define are, so they only serve to obfuscate code where they are used). theraven 2010-09-09 10:47:50 +0000
  • 569a48650d Various tidies. theraven 2010-09-09 10:43:42 +0000
  • 718c9398e5 Include the correct headers in hooks.c. theraven 2010-09-09 10:43:16 +0000
  • bd58a33b84 Prevent accidental mixing of GNU runtime headers with GNUstep runtime.h. theraven 2010-09-09 10:42:45 +0000
  • 108247eb5d Fix dead store (the only bug found by the clang static analyser). theraven 2010-09-09 10:19:09 +0000
  • f43e7f6845 Fix typo. theraven 2010-09-08 14:11:53 +0000
  • ab59ce1d33 Add feature test APIs to libobjc2. theraven 2010-09-08 14:02:03 +0000
  • cd1d274928 Remove usage of -march=native since it doesn't work with most compilers, and also causes problems with builds on server farms where the build machine is not the machine the code will run on. rfm 2010-09-08 09:12:13 +0000
  • 7453547c47 Add protocol_getMethodDescription(). theraven 2010-09-07 21:28:41 +0000
  • 77d02d075b Add some missing protocol introspection functions. theraven 2010-09-07 20:55:26 +0000
  • 52bdf1484f libobjc2: add dummy objc.h and objc-api.h headers which simply include runtime.h ericwa 2010-09-06 18:27:07 +0000
  • 7a2c302c5f libobjc2: tweaks to build on Windows ericwa 2010-09-03 21:08:06 +0000
  • fe566cbc2f Fix introspection with type-dependent dispatch enabled. Looking up a method with an untyped selector was failing because the UID for the selector was no longer the same for all type variants. theraven 2010-09-02 14:52:35 +0000
  • 0284155f2d Added a hook that defines the behaviour when you call a method with the wrong signature. theraven 2010-09-01 12:48:39 +0000
  • 06015757a7 Type dependent dispatch now actually works. theraven 2010-08-31 22:03:53 +0000
  • 42a545fc7c In some irritating circumstances, the load order can cause a +load message to trigger other code, which sends messages with selectors that have not been mapped yet. theraven 2010-08-31 20:40:08 +0000
  • e9b129d878 Added low memory profile to libobjc2. This uses a more NeXT-style dtable design, which gives better memory usage at the cost of (significantly) worse worst-case performance. The memory savings seem to be only about 10% in the apps I've tested (Gorm, edlc), so it's probably not worthwhile, but it might be useful for someone finding stuff is just starting to swap... theraven 2010-08-15 22:30:32 +0000
  • 943ed5e714 Some source tidies. theraven 2010-08-15 11:17:00 +0000
  • 9986294a51 Fix setting the superclass for metaclasses correctly. theraven 2010-07-21 16:08:01 +0000
  • 2cc96a6f7e Fix message forwarding by, for example, actually calling the public forwarding hook, instead of one that isn't exposed to GNUstep... theraven 2010-07-21 12:26:49 +0000
  • a75064866a More tweaks to +load. Now defers +load a little bit more. theraven 2010-07-20 10:53:53 +0000
  • 378c7d3a6c Crash in the caller, instead of in the message lookup, when the method does not exist and there is no forwarding hook. theraven 2010-07-20 09:47:26 +0000
  • ac6f5835e0 Remember to run +load methods in categories, as well as classes. theraven 2010-07-19 15:47:34 +0000
  • 65ec110a61 Make sure both protocol classes are available before resolving protocols. theraven 2010-07-19 14:13:51 +0000
  • 7ac0904a1f Don't leak memory when throwing exceptions. theraven 2010-07-16 11:49:51 +0000
  • 7d0d599241 Fix handling of cleanups while unwinding for exception throwing. theraven 2010-07-15 17:47:13 +0000
  • fb474dd7f9 Removed hooks from runtime.h that are in hooks.h theraven 2010-07-15 09:48:29 +0000
  • d3122bcfa4 Make sure BOOLs in class tests are always YES or NO. theraven 2010-07-01 18:03:31 +0000
  • f4e7a7bf5c Return the correct thing to exception handlers. theraven 2010-06-30 12:09:42 +0000
  • f375d20d7a Add support for catching C++ (and Java / Ada) exceptions in Objective-C. theraven 2010-06-30 12:02:53 +0000
  • 121e14a3b8 Small cleanup of dtable code. theraven 2010-06-30 11:49:19 +0000
  • 666c84c129 Test the correct class when resolving superclasses. theraven 2010-06-30 10:53:40 +0000
  • 11b7b2b23c Fix compilation issues. thebeing 2010-06-30 04:45:56 +0000
  • 9271591544 Remove GCC file that is no longer used. theraven 2010-06-29 22:01:04 +0000
  • eb84a02e97 Reinstate legacy_malloc in the build, unless you disable legacy nonsense. theraven 2010-06-29 22:00:43 +0000
  • b8543a1e13 Removed files that should have gone in the last commit. theraven 2010-06-29 21:57:11 +0000
  • 07758fe521 Removed last bits of legacy code from libobjc2. Added new exception handling implementation. theraven 2010-06-29 21:46:20 +0000
  • 0e374db1db Added support for type-dependent dispatch to libobjc2. theraven 2010-06-29 12:42:20 +0000
  • 79899f8a46 Fixed unresolved class list loss when the root class gets resolved. Hence not all classes were previously resolved at load time. qmathe 2010-06-25 19:48:20 +0000
  • e36200bb8b Fix division by zero bug triggered by pointers to opaque structs. thebeing 2010-06-22 15:56:30 +0000
  • f54132293b Remove debugging line from encoding2.c theraven 2010-06-22 09:40:07 +0000
  • 8158ff0a7a Tweak fragile ABI test to account for alignment padding. theraven 2010-06-22 09:34:15 +0000
  • 673ae40779 64bit fixes. thebeing 2010-06-16 13:22:01 +0000
  • 77ed3977bc Added missing file. theraven 2010-06-08 16:20:30 +0000
  • 627e8cb0dc Remove debugging lines left in by mistake in last commit. theraven 2010-06-06 23:59:49 +0000
  • 779b28abeb Lots of tidying, removing legacy stuff. theraven 2010-06-06 21:11:25 +0000
  • 1f7f5cbfab Added file missing in last commit. theraven 2010-06-04 23:40:30 +0000
  • 4ee07676cc Added rewritten encoding parser. The functions that function pointers as arguments and parse compound types should be exposed via the public interfaces, or possibly moved to a separate library - they are generally useful. theraven 2010-06-04 23:40:07 +0000
  • cc260222da protocol.c: don't call init_protocols() with NULL ericwa 2010-06-03 19:30:01 +0000
  • 9697c01c33 Remove remaining uses of class_get_class_method and class_get_instance_method, which were causing link errors. David: can you check that I didn't do anthing silly? Thanks. ericwa 2010-06-03 19:19:19 +0000
  • 75712d61a3 Made Object use sensible functions instead of ones that don't exist. theraven 2010-06-03 17:42:15 +0000
  • b1b9baf382 Finished rewrite of message sending. Deleted lots of legacy stuff. theraven 2010-06-03 15:17:12 +0000
  • 9dcfe43e69 Removed DLL entry point. The Win32 API docs say that this function is optional, and the implementation was doing exactly the same thing as if it was absent. High quality coding at its finest. theraven 2010-06-03 12:43:17 +0000
  • bb8cafaa15 Finished rewriting the loader. It's now cleanly separated into logically-separate components, so there's a chance it might actually be maintainable... theraven 2010-06-02 22:25:12 +0000
  • 7c72069fd9 Rewrote ABI compatibility testing. Makes it easier to define new, incompatible ABIs in future without breaking everything. theraven 2010-06-02 13:18:24 +0000
  • 4ea82e14da Fixed hash functions. theraven 2010-06-02 11:12:27 +0000
  • 13964517ef Small 64bit fix. thebeing 2010-06-02 09:47:57 +0000