[libc-commits] [libc] [libc] Export the RPC interface from `libc` (PR #71432)

via libc-commits libc-commits at lists.llvm.org
Mon Nov 6 14:06:30 PST 2023


================
@@ -510,8 +512,10 @@ LIBC_INLINE void Port<T, S>::recv_n(void **dst, uint64_t *size, A &&alloc) {
 /// only open a port if we find an index that is in a valid sending state. That
 /// is, there are send operations pending that haven't been serviced on this
 /// port. Each port instance uses an associated \p opcode to tell the server
-/// what to do.
-template <uint16_t opcode> LIBC_INLINE Client::Port Client::open() {
+/// what to do. It is very important that the \p opcode value is identical
+/// across each lane. Use the template version of this unless absolutely
----------------
michaelrj-google wrote:

I don't really see how the template version is different than the version with the argument, other than the opcode being locked in at compile time. Could you explain a bit more?

https://github.com/llvm/llvm-project/pull/71432


More information about the libc-commits mailing list