================ @@ -312,16 +312,21 @@ struct DNBRegisterValue { uint64_t uint64; float float32; double float64; - int8_t v_sint8[64]; - int16_t v_sint16[32]; - int32_t v_sint32[16]; - int64_t v_sint64[8]; - uint8_t v_uint8[64]; - uint16_t v_uint16[32]; - uint32_t v_uint32[16]; - uint64_t v_uint64[8]; - float v_float32[16]; - double v_float64[8]; + // AArch64 SME's ZA register max size is 64k, this object must be + // large enough to hold that much data. The current Apple cores + // have a much smaller maximum ZA reg size, but there are not + // multiple copies of this object so increase the static size to + // maximum possible. ---------------- jasonmolenda wrote:
Yeah, this object is allocated to read/write a single register, so a read of x0 will be a 64k object. But looking at the debugserver sources, we don't store an array of them anywhere - we read / write individual registers one at a time with this object for a short time period, so I don't think the memory increase is a problem. It might be better to have a dynamically allocated size here though, as you did. I did that for the DNBArm64ArchImpl register contexts stored for each thread, where we will have one for each thread when stopped, that memory use made me more nervous. https://github.com/llvm/llvm-project/pull/119171 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits