search for: __objc_classlist

Displaying 6 results from an estimated 6 matches for "__objc_classlist".

2020 Feb 16
2
ORC JIT Weekly #5
...reviews.llvm.org/D74300 has been updated. The new version contains a MachOPlatform implementation that demonstrates how Platforms and ObjectLinkingLayer::Plugins can work together to implement platform specific initialization. In this case, the MachOPlatform installs a plugin that scans objects for __objc_classlist and __objc_selref sections and uses them to register JIT'd code with the Objective-C runtime. This allows LLJIT instances (and the lli command line tool) to run IR compiled from Objective-C and Swift sources. Discussion on the review is ongoing (thanks especially to Stefan Granitz for his revi...
2018 Apr 06
0
Is it possible to execute Objective-C code via LLVM JIT?
...pointers to objc-related sections for which the memory is allocated. Before SectionMemoryManager::finalizeMemory() method is called I register the ObjC runtime classes. 2) I iterate over __objc_selrefs sections and fixup selectors. This does fix the original crash of this thread. 3) I iterate over __objc_classlist sections and register the new classes using objc_allocateClassPair function, register the properties and ivars to these new classes, run objc_registerClassPair to complete the registration. (I still have to implement the protocol registration) 4) I iterate over __objc_classrefs and __objc_superrefs...
2018 Feb 15
2
Is it possible to execute Objective-C code via LLVM JIT?
Hi David, Stanislav, Sorry for the delayed reply. Short version: There hasn't been any progress on this just yet, as I have been busy with an overhaul of the underlying ORC APIs. 1) Hack up something in RuntimeDyldMachO to handle the data structures > currently generated by clang. This is fragile, because the interface > between the compiler and the runtime is not documented, and is
2018 May 03
2
Is it possible to execute Objective-C code via LLVM JIT?
...sections for which the memory is > allocated. Before SectionMemoryManager::finalizeMemory() method is > called I register the ObjC runtime classes. > 2) I iterate over __objc_selrefs sections and fixup selectors. This > does fix the original crash of this thread. > 3) I iterate over __objc_classlist sections and register the new > classes using objc_allocateClassPair function, register the properties > and ivars to these new classes, run objc_registerClassPair to complete > the registration. (I still have to implement the protocol > registration) > 4) I iterate over __objc_class...
2020 Feb 24
4
ORC JIT Weekly #6 -- General initializer support and JITLink optimizations
...em when requested. On the other hand, MachOPlatform implements a scheme that mimics the behavior of the Darwin dynamic loader, dyld: By installing an ObjectLinkingLayer::Plugin, the MachOPlatform can scan all objects as they are materialized to discover known special sections (E.g. __mod_init_func, __objc_classlist, and __objc_selref), then handle them according the usual platform rules (__mod_init_func pointers are executed, Objective-C classes and selectors are registered with the Objective-C runtime). While this system is still very new, it is far enough along that the lli command line tool, when run with...
2018 Feb 14
3
Is it possible to execute Objective-C code via LLVM JIT?
> On 13 Feb 2018, at 17:42, Stanislav Pankevich <s.pankevich at gmail.com> wrote: > > On Tue, Feb 13, 2018 at 12:18 PM, David Chisnall > <David.Chisnall at cl.cam.ac.uk> wrote: >> On 12 Feb 2018, at 22:31, Stanislav Pankevich via llvm-dev <llvm-dev at lists.llvm.org> wrote: >>> >>> Specifically I explored the latest objc4-723 >>>