Differences From Artifact [c4fa11142c]:
- File
src/runtime/lookup.m
— part of check-in
[1ebb9eb7b3]
at
2014-05-15 15:32:35
on branch trunk
— Multiple dtable / sparse array improvements
* dtable.m is now the old sparse array, using IMP as type for values and
thus not violating the C standard anymore (functions may not be stored
in void*)
* New sparsearray.m which can work with any size, based on the sparse
array from the fast path of class.m
* Fast path of class.m now uses the new sparsearray.m (user: js, size: 4574) [annotate] [blame] [check-ins using]
To Artifact [02a0538d70]:
- File src/runtime/lookup.m — part of check-in [1c1064611f] at 2014-06-23 00:12:40 on branch trunk — runtime/lookup.m: Fix build with GCC (user: js, size: 4709) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <stdio.h> #include <stdlib.h> #import "runtime.h" #import "runtime-private.h" #import "macros.h" static IMP forward_handler = (IMP)0; static IMP forward_handler_stret = (IMP)0; static IMP common_method_not_found(id obj, SEL sel, IMP (*lookup)(id, SEL), IMP forward) { | > > > > > > > > > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <stdio.h> #include <stdlib.h> #import "runtime.h" #import "runtime-private.h" #import "macros.h" @interface DummyObject { Class isa; } + (BOOL)resolveClassMethod: (SEL)selector; + (BOOL)resolveInstanceMethod: (SEL)selector; @end static IMP forward_handler = (IMP)0; static IMP forward_handler_stret = (IMP)0; static IMP common_method_not_found(id obj, SEL sel, IMP (*lookup)(id, SEL), IMP forward) { |
︙ | ︙ |