[libcxx-commits] [PATCH] D64961: [libcxxabi] Define _LIBCXXABI_GUARD_ABI_ARM on WebAssembly

Sam Clegg via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 19 10:25:22 PDT 2019


sbc100 added a comment.

I think the main argument is space saving.  Wasm cares more about minimizing the binary size and memory usage than most other platforms.  I believe that was the original motivation for the arm abi too (they tend to be embedded and care more about doubling the overhead of each guard variable).

The wasm32 ABI as implemented in clang and emscripten currently uses 4-byte guards so we can push back there and try to change the ABI there, or we can change libc++abi to comply the current de-facto ABI.

I originally went with the option of changing clang (and emscripten): https://reviews.llvm.org/D64957

However I think as long as its documented the is no reason not so save a few bytes here in the WebAssembly case.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64961/new/

https://reviews.llvm.org/D64961





More information about the libcxx-commits mailing list