Scott Myron

Hash Date Message
a3ec53bbb0337121d3518d069516bb7b3a795e96 2025-04-28 [ruby/json] Introduce ARM Neon and SSE2 SIMD. (https://github.com/ruby/json/pull/743)
50b6cd409aa9e05f72b79b2d47e17e0df2660166 2025-06-13 Optimize 'json_parse_string' using SIMD.
3b38ab9b735f9bc66f66764756978c3d37a57a57 2025-08-15 [ruby/json] Ensure the SWAR encoder in the java extension checks every byte.
c164394e957e14368436859ae2c531721207a9a8 2025-09-18 [ruby/json] fix issue reading off the end of the ByteBuffer if ptr > 0
aab390aa5ac863a74f867fec93eebab087f11060 2025-10-28 [ruby/json] Use Vector API in the Java Extension
f272aabb5c007d4a8f15e141edbd1bf2d079c5fc 2025-11-18 [ruby/json] Use #if instead of #ifdef when checking for JSON_DEBUG so debugging code is not generated when JSON_DEBUG=0.
61d45c857b6f92ef0df853cdeba02aefd0e6ffc4 2025-12-31 [ruby/json] Keep track of the the number of additional backslashes to avoid an extra memchr searching the remaining characters when no more backslashes exist.
c97f5d591b17b8194b8ddfccc6fb9d94b66c6bce 2025-12-31 [ruby/json] Simplify unescape_unicode
b6463d59e7c52dd4493796ff1cbd10b5e25caaca 2026-01-03 [ruby/json] Directly write to the output buffer when converting UTF32 to UTF8.
24ad90d3e06ee9bcfc56d91358eb3d4792912a46 2026-01-13 [ruby/json] use a conditional to select SIMD implementation rather than pointer
a650c90fab6370a4abb9a1903186f350376aeb38 2026-01-14 [ruby/json] initialize search.chunk_end to silence a warning about it being potentially uninitialized
456ef9140acbdf643c5537ee0f5d67429f2332b6 2026-01-16 [ruby/json] Use __builtin_memcpy, if available, to copy overlapping byte ranges in copy_remaining_bytes to avoid a branch to MEMCPY. Additionally use a space as padding byte instead of an 'X' so it can be represented diretly on AArch64 with a single instruction.