JSON semi-indexing implementation details and patterns. Use when working on JSON parsing, semi-index construction, or cursor navigation. Triggers on terms like "JSON index", "semi-index", "interest bits", "balanced parentheses", "JSON cursor".
Implementation details for JSON semi-indexing using succinct data structures.
Comprehensive documentation: See docs/parsing/json.md for full parsing architecture.
See docs/parsing/json.md for details on:
ARM NEON:
vceqq_u8(chunk, splat) // Equality comparison
vcleq_u8(chunk, max) // Unsigned less-than-or-equal
vandq_u8(a, b) // Bitwise AND
vqtbl1q_u8(table, indices) // Nibble lookup (16 parallel)
x86 SSE2/AVX2:
_mm_cmpeq_epi8(chunk, splat) // Equality comparison
_mm_movemask_epi8(cmp) // Extract MSBs as u16 bitmask
_mm256_movemask_epi8(cmp) // AVX2: Extract as u32 bitmask
// src/json/simd/mod.rs
#[cfg(target_arch = "x86_64")]
if is_x86_feature_detected!("avx2") {
avx2::build_semi_index_standard(json)
} else if is_x86_feature_detected!("sse4.2") {
sse42::build_semi_index_standard(json)
} else {
x86::build_semi_index_standard(json) // SSE2 fallback
}
#[cfg(target_arch = "aarch64")]