avoid threadvar for field table (#98)

* avoid threadvar for field table

* bump
This commit is contained in:
Jacek Sieka 2024-09-30 15:21:02 +02:00 committed by GitHub
parent b83739b430
commit ab1a061756
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 5 deletions

View File

@ -189,10 +189,8 @@ proc readRecordValue*[T](r: var JsonReader, value: var T)
const someCode = T.totalSerializedFields > 0
when someCode:
let
fieldsTable = T.fieldReadersTable(ReaderType)
const
fieldsTable = T.fieldReadersTable(ReaderType)
expectedFields = T.expectedFieldsBitmask
var
@ -207,13 +205,13 @@ proc readRecordValue*[T](r: var JsonReader, value: var T)
mostLikelyNextField += 1
discard key
else:
let fieldIdx = findFieldIdx(fieldsTable[],
let fieldIdx = findFieldIdx(fieldsTable,
key,
mostLikelyNextField)
do:
when someCode:
if fieldIdx != -1:
let reader = fieldsTable[][fieldIdx].reader
let reader = fieldsTable[fieldIdx].reader
reader(value, r)
encounteredFields.setBitInArray(fieldIdx)
elif r.allowUnknownFields: