aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.hpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-05-08 12:58:33 +0100
committerGitHub <noreply@github.com>2025-05-08 12:58:33 +0100
commit92df892f25832b368e29b39dda094a7357c7f3e6 (patch)
tree9f56732962285a117dc4fa6b602c89ed04ffbec8 /src/llvm_backend.hpp
parent4a709086a49f97e6d22bcd441bac38169b1baa21 (diff)
parent14e25c0f2a0dea725cb098dcf9939a8d4681e7d6 (diff)
Merge pull request #5064 from harold-b/hb/objc-classes
Add support for Objective-C class implementation
Diffstat (limited to 'src/llvm_backend.hpp')
-rw-r--r--src/llvm_backend.hpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/llvm_backend.hpp b/src/llvm_backend.hpp
index 51931dac3..408e35f3c 100644
--- a/src/llvm_backend.hpp
+++ b/src/llvm_backend.hpp
@@ -196,6 +196,7 @@ struct lbModule {
StringMap<lbAddr> objc_classes;
StringMap<lbAddr> objc_selectors;
+ StringMap<lbAddr> objc_ivars;
PtrMap<u64/*type hash*/, lbAddr> map_cell_info_map; // address of runtime.Map_Info
PtrMap<u64/*type hash*/, lbAddr> map_info_map; // address of runtime.Map_Cell_Info
@@ -219,6 +220,7 @@ struct lbObjCGlobal {
gbString global_name;
String name;
Type * type;
+ Type * class_impl_type; // This is set when the class has the objc_implement attribute set to true.
};
struct lbGenerator : LinkerData {
@@ -240,6 +242,7 @@ struct lbGenerator : LinkerData {
MPSCQueue<lbEntityCorrection> entities_to_correct_linkage;
MPSCQueue<lbObjCGlobal> objc_selectors;
MPSCQueue<lbObjCGlobal> objc_classes;
+ MPSCQueue<lbObjCGlobal> objc_ivars;
};