|
|
@ -1772,6 +1772,8 @@ PROTOBUF_NOINLINE const char* TcParser::FastUR2(PROTOBUF_TC_PARAM_DECL) { |
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
namespace { |
|
|
|
namespace { |
|
|
|
|
|
|
|
// TODO: revisit the use of inline assembly and consider
|
|
|
|
|
|
|
|
// benchmarking as bts isn't short latency either.
|
|
|
|
inline void SetHas(const FieldEntry& entry, MessageLite* msg) { |
|
|
|
inline void SetHas(const FieldEntry& entry, MessageLite* msg) { |
|
|
|
auto has_idx = static_cast<uint32_t>(entry.has_idx); |
|
|
|
auto has_idx = static_cast<uint32_t>(entry.has_idx); |
|
|
|
#if defined(__x86_64__) && defined(__GNUC__) |
|
|
|
#if defined(__x86_64__) && defined(__GNUC__) |
|
|
|