@@ -361,15 +361,15 @@ escape_binary(Bin) -> escape_binary_ascii(Bin, [$"], Bin, 0, 0).
361361
362362escape_binary_ascii (Binary , Acc , Orig , Skip , Len ) ->
363363 case Binary of
364- <<B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 , Rest /binary >> when ? are_all_ascii_plain ( B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 ) ->
365- escape_binary_ascii (Rest , Acc , Orig , Skip , Len + 8 );
364+ <<W : 56 , Rest /binary >> when ? are_all_ascii_plain_swar ( W ) ->
365+ escape_binary_ascii (Rest , Acc , Orig , Skip , Len + 7 );
366366 Other ->
367367 escape_binary (Other , Acc , Orig , Skip , Len )
368368 end .
369369
370370escape_binary (<<Byte , Rest /binary >>, Acc , Orig , Skip , Len ) when ? is_ascii_plain (Byte ) ->
371- % % we got here because there were either less than 8 bytes left
372- % % or we have an escape in the next 8 bytes,
371+ % % we got here because there were either less than 7 bytes left
372+ % % or we have an escape in the next 7 bytes,
373373 % % escape_binary_ascii would fail and dispatch here anyway
374374 escape_binary (Rest , Acc , Orig , Skip , Len + 1 );
375375escape_binary (<<Byte , Rest /binary >>, Acc , Orig , Skip0 , Len ) when ? is_ascii_escape (Byte ) ->
@@ -410,8 +410,8 @@ escape_all(Bin) -> escape_all_ascii(Bin, [$"], Bin, 0, 0).
410410
411411escape_all_ascii (Binary , Acc , Orig , Skip , Len ) ->
412412 case Binary of
413- <<B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 , Rest /binary >> when ? are_all_ascii_plain ( B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 ) ->
414- escape_all_ascii (Rest , Acc , Orig , Skip , Len + 8 );
413+ <<W : 56 , Rest /binary >> when ? are_all_ascii_plain_swar ( W ) ->
414+ escape_all_ascii (Rest , Acc , Orig , Skip , Len + 7 );
415415 Other ->
416416 escape_all (Other , Acc , Orig , Skip , Len )
417417 end .
@@ -1175,8 +1175,8 @@ string(Binary, Original, Skip, Acc, Stack, Decode) ->
11751175
11761176string_ascii (Binary , Original , Skip , Acc , Stack , Decode , Len ) ->
11771177 case Binary of
1178- <<B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 , Rest /binary >> when ? are_all_ascii_plain ( B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 ) ->
1179- string_ascii (Rest , Original , Skip , Acc , Stack , Decode , Len + 8 );
1178+ <<W : 56 , Rest /binary >> when ? are_all_ascii_plain_swar ( W ) ->
1179+ string_ascii (Rest , Original , Skip , Acc , Stack , Decode , Len + 7 );
11801180 Other ->
11811181 string (Other , Original , Skip , Acc , Stack , Decode , Len )
11821182 end .
@@ -1218,8 +1218,8 @@ string_utf8(_, Orig, Skip, Acc, Stack, Decode, Len, _State0) ->
12181218
12191219string_ascii (Binary , Original , Skip , Acc , Stack , Decode , Start , Len , SAcc ) ->
12201220 case Binary of
1221- <<B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 , Rest /binary >> when ? are_all_ascii_plain ( B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 ) ->
1222- string_ascii (Rest , Original , Skip , Acc , Stack , Decode , Start , Len + 8 , SAcc );
1221+ <<W : 56 , Rest /binary >> when ? are_all_ascii_plain_swar ( W ) ->
1222+ string_ascii (Rest , Original , Skip , Acc , Stack , Decode , Start , Len + 7 , SAcc );
12231223 Other ->
12241224 string (Other , Original , Skip , Acc , Stack , Decode , Start , Len , SAcc )
12251225 end .
0 commit comments