[all-commits] [llvm/llvm-project] f36845: Enable direct methods and fast alloc calls for lib...

David Chisnall via All-commits all-commits at lists.llvm.org
Mon Jan 22 00:38:53 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f36845d0c696023ea97931a4201b43ddfababf9c
      https://github.com/llvm/llvm-project/commit/f36845d0c696023ea97931a4201b43ddfababf9c
  Author: David Chisnall <davidchisnall at users.noreply.github.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M clang/include/clang/Basic/ObjCRuntime.h
    M clang/lib/CodeGen/CGObjCGNU.cpp
    A clang/test/CodeGenObjC/gnustep2-direct-method.m

  Log Message:
  -----------
  Enable direct methods and fast alloc calls for libobjc2. (#78030)

These will be supported in the upcoming 2.2 release and so are gated on
that version.

Direct methods call `objc_send_initialize` if they are class methods
that may not have called initialize. This is guarded by checking for the
class flag bit that is set on initialisation in the class. This bit now
forms part of the ABI, but it's been stable for 30+ years so that's fine
as a contract going forwards.




More information about the All-commits mailing list