// memcmp16 support. // // This can either be optimized assembly code, in which case we expect a function __memcmp16, // or generic C support. // // In case of the generic support we declare two versions: one in this header file meant to be // inlined, and a static version that assembly stubs can link against. // // In both cases, MemCmp16 is declared.
// This is the generic inlined version. staticinline int32_t MemCmp16(const uint16_t* s0, const uint16_t* s1, size_t count) { for (size_t i = 0; i < count; i++) { if (s0[i] != s1[i]) { returnstatic_cast<int32_t>(s0[i]) - static_cast<int32_t>(s1[i]);
}
} return0;
}
// TODO(260881207): decide whether to hide this symbol. extern"C" int32_t memcmp16_generic_static(const uint16_t* s0, const uint16_t* s1, size_t count); #endif
namespace art HIDDEN {
namespace testing {
// A version that is exposed and relatively "close to the metal," so that memcmp16_test can do // some reasonable testing. Without this, as __memcmp16 is hidden, the test cannot access the // implementation.
int32_t MemCmp16Testing(const uint16_t* s0, const uint16_t* s1, size_t count);
} // namespace testing
} // namespace art
#endif// ART_RUNTIME_ARCH_MEMCMP16_H_
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.