Skip to content

Commit 693f03f

Browse files
committed
Update contrib/libs/simdjson to 3.11.1
commit_hash:14237b152d8d41e7d920835693370e646b91ae42
1 parent 2d3a24a commit 693f03f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+1031
-137
lines changed

contrib/libs/simdjson/.yandex_meta/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"CppCoreCheck\\Warnings.h",
1010
"simdjson/nonstd/string_view.hpp",
1111
"simdjson/ppc64/",
12+
"sys/byteorder.h",
1213
"ppc64.cpp",
1314
"lasx.cpp",
1415
"lasxintrin.h",

contrib/libs/simdjson/.yandex_meta/devtools.licenses.report

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ BELONGS ya.make
4242
Match type : REFERENCE
4343
Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0
4444
Files with this license:
45-
README.md [223:223]
45+
README.md [227:227]
4646

4747
SKIP LicenseRef-scancode-unknown-license-reference 0d48e0b09865a98a90db20ea37b36bb8
4848
BELONGS ya.make
@@ -54,7 +54,7 @@ BELONGS ya.make
5454
Match type : INTRO
5555
Links : https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE
5656
Files with this license:
57-
README.md [227:227]
57+
README.md [231:231]
5858

5959
KEEP BSD-3-Clause 1932361280194a7b208a1a5671cb21a2
6060
BELONGS ya.make
@@ -79,7 +79,7 @@ BELONGS ya.make
7979
Match type : REFERENCE
8080
Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0
8181
Files with this license:
82-
README.md [208:208]
82+
README.md [212:212]
8383

8484
SKIP BSL-1.0 2a9212d785cde4078c2f6803e544de21
8585
BELONGS ya.make
@@ -90,7 +90,7 @@ BELONGS ya.make
9090
Match type : REFERENCE
9191
Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0
9292
Files with this license:
93-
README.md [223:223]
93+
README.md [227:227]
9494

9595
SKIP Apache-2.0 500a503129337bb5adf5977ce11879cd
9696
BELONGS ya.make
@@ -102,7 +102,7 @@ BELONGS ya.make
102102
Match type : NOTICE
103103
Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0
104104
Files with this license:
105-
README.md [219:219]
105+
README.md [223:223]
106106

107107
SKIP BSL-1.0 77dd56e30840a227692d435b4aecdb95
108108
BELONGS ya.make
@@ -113,7 +113,7 @@ BELONGS ya.make
113113
Match type : REFERENCE
114114
Links : http://www.boost.org/LICENSE_1_0.txt, http://www.boost.org/users/license.html, https://spdx.org/licenses/BSL-1.0
115115
Files with this license:
116-
README.md [223:223]
116+
README.md [227:227]
117117

118118
SKIP Apache-2.0 871555b1be031365ad101c8aa7104482
119119
BELONGS ya.make
@@ -125,7 +125,7 @@ BELONGS ya.make
125125
Match type : REFERENCE
126126
Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0
127127
Files with this license:
128-
README.md [219:219]
128+
README.md [223:223]
129129

130130
KEEP Apache-2.0 97b415d82a3bce8bcbc7213fa2ac85c1
131131
BELONGS ya.make
@@ -159,7 +159,7 @@ BELONGS ya.make
159159
Match type : NOTICE
160160
Links : http://opensource.org/licenses/mit-license.php, https://spdx.org/licenses/MIT
161161
Files with this license:
162-
README.md [225:225]
162+
README.md [229:229]
163163

164164
SKIP Apache-2.0 c23a044f4165feb9568f486ca3b30fc8
165165
BELONGS ya.make
@@ -170,7 +170,7 @@ BELONGS ya.make
170170
Match type : NOTICE
171171
Links : http://www.apache.org/licenses/, http://www.apache.org/licenses/LICENSE-2.0, https://spdx.org/licenses/Apache-2.0
172172
Files with this license:
173-
README.md [223:223]
173+
README.md [227:227]
174174

175175
SKIP BSD-3-Clause d77bd60dc7ee5f9c3b221f6edd94bbac
176176
BELONGS ya.make
@@ -182,7 +182,7 @@ BELONGS ya.make
182182
Match type : REFERENCE
183183
Links : http://www.opensource.org/licenses/BSD-3-Clause, https://spdx.org/licenses/BSD-3-Clause
184184
Files with this license:
185-
README.md [227:227]
185+
README.md [231:231]
186186

187187
SKIP MIT dd09705e3ec59af63c705c8f5f3eadb2
188188
BELONGS ya.make
@@ -194,7 +194,7 @@ BELONGS ya.make
194194
Match type : REFERENCE
195195
Links : http://opensource.org/licenses/mit-license.php, https://spdx.org/licenses/MIT
196196
Files with this license:
197-
README.md [221:221]
197+
README.md [225:225]
198198

199199
KEEP MIT f0fe4686586f118327c3bc63fe4027de
200200
BELONGS ya.make

contrib/libs/simdjson/.yandex_meta/override.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
pkgs: attrs: with pkgs; rec {
2-
version = "3.10.1";
2+
version = "3.11.1";
33

44
src = fetchFromGitHub {
55
owner = "simdjson";
66
repo = "simdjson";
77
rev = "v${version}";
8-
hash = "sha256-UfGt5lKmpqc21Hln4t/4KJfg+3V/hqX3UYgpCvlhkrM=";
8+
hash = "sha256-iUbUkov8RAytdzkstc1Q1kkJtFLQxeRMjcEfi7NSzgs=";
99
};
1010

1111
cmakeFlags = attrs.cmakeFlags ++ [

contrib/libs/simdjson/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Table of Contents
3131
* [Documentation](#documentation)
3232
* [Godbolt](#godbolt)
3333
* [Performance results](#performance-results)
34+
* [Packages](#packages)
3435
* [Bindings and Ports of simdjson](#bindings-and-ports-of-simdjson)
3536
* [About simdjson](#about-simdjson)
3637
* [Funding](#funding)
@@ -143,6 +144,9 @@ speed for [synthetic files over various sizes generated with a script](https://g
143144
For NDJSON files, we can exceed 3 GB/s with [our multithreaded parsing functions](https://github.com/simdjson/simdjson/blob/master/doc/parse_many.md).
144145
145146
147+
Packages
148+
------------------------------
149+
[![Packaging status](https://repology.org/badge/vertical-allrepos/simdjson.svg)](https://repology.org/project/simdjson/versions)
146150
147151
148152
Bindings and Ports of simdjson

contrib/libs/simdjson/include/simdjson.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,4 @@
5353

5454
#include "simdjson/dom.h"
5555
#include "simdjson/ondemand.h"
56-
5756
#endif // SIMDJSON_H

contrib/libs/simdjson/include/simdjson/arm64/bitmanipulation.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SIMDJSON_NO_SANITIZE_UNDEFINED
1919
// See issue https://github.com/simdjson/simdjson/issues/1965
2020
SIMDJSON_NO_SANITIZE_MEMORY
2121
simdjson_inline int trailing_zeroes(uint64_t input_num) {
22-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
22+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
2323
unsigned long ret;
2424
// Search the mask data from least significant bit (LSB)
2525
// to the most significant bit (MSB) for a set bit (1).
@@ -35,9 +35,15 @@ simdjson_inline uint64_t clear_lowest_bit(uint64_t input_num) {
3535
return input_num & (input_num-1);
3636
}
3737

38+
// We sometimes call leading_zeroes on inputs that are zero,
39+
// but the algorithms do not end up using the returned value.
40+
// Sadly, sanitizers are not smart enough to figure it out.
41+
// Applies only when SIMDJSON_PREFER_REVERSE_BITS is defined and true.
42+
// (See below.)
43+
SIMDJSON_NO_SANITIZE_UNDEFINED
3844
/* result might be undefined when input_num is zero */
3945
simdjson_inline int leading_zeroes(uint64_t input_num) {
40-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
46+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
4147
unsigned long leading_zero = 0;
4248
// Search the mask data from most significant bit (MSB)
4349
// to least significant bit (LSB) for a set bit (1).
@@ -90,7 +96,7 @@ simdjson_inline uint64_t zero_leading_bit(uint64_t rev_bits, int leading_zeroes)
9096
#endif
9197

9298
simdjson_inline bool add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) {
93-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
99+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
94100
*result = value1 + value2;
95101
return *result < value1;
96102
#else

contrib/libs/simdjson/include/simdjson/arm64/numberparsing_defs.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ simdjson_inline internal::value128 full_multiplication(uint64_t value1, uint64_t
5151
} // namespace arm64
5252
} // namespace simdjson
5353

54+
#ifndef SIMDJSON_SWAR_NUMBER_PARSING
55+
#if SIMDJSON_IS_BIG_ENDIAN
56+
#define SIMDJSON_SWAR_NUMBER_PARSING 0
57+
#else
5458
#define SIMDJSON_SWAR_NUMBER_PARSING 1
59+
#endif
60+
#endif
5561

5662
#endif // SIMDJSON_ARM64_NUMBERPARSING_DEFS_H

contrib/libs/simdjson/include/simdjson/arm64/simd.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace arm64 {
1212
namespace {
1313
namespace simd {
1414

15-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
15+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
1616
namespace {
1717
// Start of private section with Visual Studio workaround
1818

@@ -121,7 +121,7 @@ namespace {
121121
// We return uint32_t instead of uint16_t because that seems to be more efficient for most
122122
// purposes (cutting it down to uint16_t costs performance in some compilers).
123123
simdjson_inline uint32_t to_bitmask() const {
124-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
124+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
125125
const uint8x16_t bit_mask = simdjson_make_uint8x16_t(0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,
126126
0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80);
127127
#else
@@ -152,7 +152,7 @@ namespace {
152152
// Splat constructor
153153
simdjson_inline simd8(uint8_t _value) : simd8(splat(_value)) {}
154154
// Member-by-member initialization
155-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
155+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
156156
simdjson_inline simd8(
157157
uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, uint8_t v5, uint8_t v6, uint8_t v7,
158158
uint8_t v8, uint8_t v9, uint8_t v10, uint8_t v11, uint8_t v12, uint8_t v13, uint8_t v14, uint8_t v15
@@ -246,7 +246,7 @@ namespace {
246246
uint64x2_t shufmask64 = {thintable_epi8[mask1], thintable_epi8[mask2]};
247247
uint8x16_t shufmask = vreinterpretq_u8_u64(shufmask64);
248248
// we increment by 0x08 the second half of the mask
249-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
249+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
250250
uint8x16_t inc = simdjson_make_uint8x16_t(0, 0, 0, 0, 0, 0, 0, 0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08);
251251
#else
252252
uint8x16_t inc = {0, 0, 0, 0, 0, 0, 0, 0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
@@ -276,7 +276,7 @@ namespace {
276276
uint8x8_t compactmask1 = vcreate_u8(thintable_epi8[mask1]);
277277
uint8x8_t compactmask2 = vcreate_u8(thintable_epi8[mask2]);
278278
// we increment by 0x08 the second half of the mask
279-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
279+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
280280
uint8x8_t inc = simdjson_make_uint8x8_t(0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08);
281281
#else
282282
uint8x8_t inc = {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};
@@ -328,7 +328,7 @@ namespace {
328328
// Array constructor
329329
simdjson_inline simd8(const int8_t* values) : simd8(load(values)) {}
330330
// Member-by-member initialization
331-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
331+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
332332
simdjson_inline simd8(
333333
int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7,
334334
int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15
@@ -449,7 +449,7 @@ namespace {
449449
}
450450

451451
simdjson_inline uint64_t to_bitmask() const {
452-
#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO
452+
#if SIMDJSON_REGULAR_VISUAL_STUDIO
453453
const uint8x16_t bit_mask = simdjson_make_uint8x16_t(
454454
0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,
455455
0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80

contrib/libs/simdjson/include/simdjson/base.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "simdjson/compiler_check.h"
1010
#include "simdjson/error.h"
1111
#include "simdjson/portability.h"
12+
#include "simdjson/concepts.h"
1213

1314
/**
1415
* @brief The top level simdjson namespace, containing everything the library provides.

contrib/libs/simdjson/include/simdjson/compiler_check.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,16 @@
5050
#endif
5151
#endif
5252

53+
#ifdef __has_include
54+
#if __has_include(<version>)
55+
#include <version>
56+
#endif
57+
#endif
58+
59+
#ifdef __cpp_concepts
60+
#include <utility>
61+
#define SIMDJSON_SUPPORTS_DESERIALIZATION 1
62+
#else // __cpp_concepts
63+
#define SIMDJSON_SUPPORTS_DESERIALIZATION 0
64+
#endif
5365
#endif // SIMDJSON_COMPILER_CHECK_H

0 commit comments

Comments
 (0)