mirror of https://github.com/nodejs/node.git
deps: update ada to 2.6.10
PR-URL: https://github.com/nodejs/node/pull/49984 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>pull/50020/head
parent
952cf0d17a
commit
23cb478398
|
@ -1,4 +1,4 @@
|
|||
/* auto-generated on 2023-09-29 13:28:16 -0400. Do not edit! */
|
||||
/* auto-generated on 2023-09-30 20:34:30 -0400. Do not edit! */
|
||||
/* begin file src/ada.cpp */
|
||||
#include "ada.h"
|
||||
/* begin file src/checkers.cpp */
|
||||
|
@ -9810,6 +9810,17 @@ constexpr bool to_lower_ascii(char* input, size_t length) noexcept {
|
|||
#if ADA_NEON
|
||||
ada_really_inline bool has_tabs_or_newline(
|
||||
std::string_view user_input) noexcept {
|
||||
// first check for short strings in which case we do it naively.
|
||||
if (user_input.size() < 16) { // slow path
|
||||
for (size_t i = 0; i < user_input.size(); i++) {
|
||||
if (user_input[i] == '\r' || user_input[i] == '\n' ||
|
||||
user_input[i] == '\t') {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// fast path for long strings (expected to be common)
|
||||
size_t i = 0;
|
||||
const uint8x16_t mask1 = vmovq_n_u8('\r');
|
||||
const uint8x16_t mask2 = vmovq_n_u8('\n');
|
||||
|
@ -9822,9 +9833,8 @@ ada_really_inline bool has_tabs_or_newline(
|
|||
vceqq_u8(word, mask3));
|
||||
}
|
||||
if (i < user_input.size()) {
|
||||
uint8_t buffer[16]{};
|
||||
memcpy(buffer, user_input.data() + i, user_input.size() - i);
|
||||
uint8x16_t word = vld1q_u8((const uint8_t*)user_input.data() + i);
|
||||
uint8x16_t word =
|
||||
vld1q_u8((const uint8_t*)user_input.data() + user_input.length() - 16);
|
||||
running = vorrq_u8(vorrq_u8(running, vorrq_u8(vceqq_u8(word, mask1),
|
||||
vceqq_u8(word, mask2))),
|
||||
vceqq_u8(word, mask3));
|
||||
|
@ -9834,6 +9844,17 @@ ada_really_inline bool has_tabs_or_newline(
|
|||
#elif ADA_SSE2
|
||||
ada_really_inline bool has_tabs_or_newline(
|
||||
std::string_view user_input) noexcept {
|
||||
// first check for short strings in which case we do it naively.
|
||||
if (user_input.size() < 16) { // slow path
|
||||
for (size_t i = 0; i < user_input.size(); i++) {
|
||||
if (user_input[i] == '\r' || user_input[i] == '\n' ||
|
||||
user_input[i] == '\t') {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
// fast path for long strings (expected to be common)
|
||||
size_t i = 0;
|
||||
const __m128i mask1 = _mm_set1_epi8('\r');
|
||||
const __m128i mask2 = _mm_set1_epi8('\n');
|
||||
|
@ -9847,9 +9868,8 @@ ada_really_inline bool has_tabs_or_newline(
|
|||
_mm_cmpeq_epi8(word, mask3));
|
||||
}
|
||||
if (i < user_input.size()) {
|
||||
alignas(16) uint8_t buffer[16]{};
|
||||
memcpy(buffer, user_input.data() + i, user_input.size() - i);
|
||||
__m128i word = _mm_load_si128((const __m128i*)buffer);
|
||||
__m128i word = _mm_loadu_si128(
|
||||
(const __m128i*)(user_input.data() + user_input.length() - 16));
|
||||
running = _mm_or_si128(
|
||||
_mm_or_si128(running, _mm_or_si128(_mm_cmpeq_epi8(word, mask1),
|
||||
_mm_cmpeq_epi8(word, mask2))),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* auto-generated on 2023-09-29 13:28:16 -0400. Do not edit! */
|
||||
/* auto-generated on 2023-09-30 20:34:30 -0400. Do not edit! */
|
||||
/* begin file include/ada.h */
|
||||
/**
|
||||
* @file ada.h
|
||||
|
@ -6928,14 +6928,14 @@ inline void url_search_params::sort() {
|
|||
#ifndef ADA_ADA_VERSION_H
|
||||
#define ADA_ADA_VERSION_H
|
||||
|
||||
#define ADA_VERSION "2.6.9"
|
||||
#define ADA_VERSION "2.6.10"
|
||||
|
||||
namespace ada {
|
||||
|
||||
enum {
|
||||
ADA_VERSION_MAJOR = 2,
|
||||
ADA_VERSION_MINOR = 6,
|
||||
ADA_VERSION_REVISION = 9,
|
||||
ADA_VERSION_REVISION = 10,
|
||||
};
|
||||
|
||||
} // namespace ada
|
||||
|
|
|
@ -9,7 +9,7 @@ All dependencies are located within the `deps` directory.
|
|||
This a list of all the dependencies:
|
||||
|
||||
* [acorn 8.10.0][]
|
||||
* [ada 2.6.9][]
|
||||
* [ada 2.6.10][]
|
||||
* [base64 0.5.0][]
|
||||
* [brotli 1.0.9][]
|
||||
* [c-ares 1.19.0][]
|
||||
|
@ -150,7 +150,7 @@ The [acorn](https://github.com/acornjs/acorn) dependency is a JavaScript parser.
|
|||
[acorn-walk](https://github.com/acornjs/acorn/tree/master/acorn-walk) is
|
||||
an abstract syntax tree walker for the ESTree format.
|
||||
|
||||
### ada 2.6.9
|
||||
### ada 2.6.10
|
||||
|
||||
The [ada](https://github.com/ada-url/ada) dependency is a
|
||||
fast and spec-compliant URL parser written in C++.
|
||||
|
@ -319,7 +319,7 @@ it comes from the Chromium team's zlib fork which incorporated
|
|||
performance improvements not currently available in standard zlib.
|
||||
|
||||
[acorn 8.10.0]: #acorn-8100
|
||||
[ada 2.6.9]: #ada-269
|
||||
[ada 2.6.10]: #ada-2610
|
||||
[base64 0.5.0]: #base64-050
|
||||
[brotli 1.0.9]: #brotli-109
|
||||
[c-ares 1.19.0]: #c-ares-1190
|
||||
|
|
Loading…
Reference in New Issue