[all-commits] [llvm/llvm-project] 61d22e: [lldb/ObjCRuntime] Implement support for small met...

fredriss via All-commits all-commits at lists.llvm.org
Wed Jul 1 20:30:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 61d22ef236206f17d7abcdcdf9da3c99074432d5
      https://github.com/llvm/llvm-project/commit/61d22ef236206f17d7abcdcdf9da3c99074432d5
  Author: Fred Riss <friss at apple.com>
  Date:   2020-07-01 (Wed, 01 Jul 2020)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h

  Log Message:
  -----------
  [lldb/ObjCRuntime] Implement support for small method lists

On macOS 11 (and other aligned Apple OSs), the Objective-C runtime
has a new optimization which saves memory by making the method
lists smaller.
This patch adds support for this new method list encoding (while
also keeping backward compatibility). This is implicitely covered
by some existing Objective-C tests.


  Commit: 4a674b623796dc5c5778fc6998f788044137d61d
      https://github.com/llvm/llvm-project/commit/4a674b623796dc5c5778fc6998f788044137d61d
  Author: Fred Riss <friss at apple.com>
  Date:   2020-07-01 (Wed, 01 Jul 2020)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h

  Log Message:
  -----------
  [lldb/ObjC] Add support for direct selector references

On macOS 11 (and other aligned OSs), the shared cache method
lists get an additional optimization which removes one level
of indirection to get to the selector.
This patch supports this new optimization. Both codepaths are
covered byt the existing Objective-C tests.


  Commit: c9f251aa6f6221a45d926bc12bd25d1833e5d945
      https://github.com/llvm/llvm-project/commit/c9f251aa6f6221a45d926bc12bd25d1833e5d945
  Author: Fred Riss <friss at apple.com>
  Date:   2020-07-01 (Wed, 01 Jul 2020)

  Changed paths:
    M lldb/test/Shell/helper/build.py

  Log Message:
  -----------
  [lldb/build.py] Always pass an SDK to the compiler on Darwin

On macOS 11, system libraries which are part of the shared cache
are not present on the filesystem anymore. This causes issues
with build.py, because it fails to link binaries with libSystem
or libc++.

The real issue is that build.py was not passing an SDK to the
compiler. The script accepts an argument for the SDK, but it
is currently unused. This patch just threads the SDK through
to the compile and link steps and this fixes a bunch of Shell
test failures on very recent macOS builds.


Compare: https://github.com/llvm/llvm-project/compare/e1a31f52cd79...c9f251aa6f62


More information about the All-commits mailing list