Update decoder.py to use try_unbox on destroy calls
Missing code generator changes for aosp/3272729. Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31728>
This commit is contained in:

committed by
Marge Bot

parent
d52a9d832e
commit
10acd37e93
@@ -164,13 +164,13 @@ def emit_unmarshal(typeInfo, param, cgen, output = False, destroy = False, noUnb
|
|||||||
lenAccessGuard = cgen.generalLengthAccessGuard(param)
|
lenAccessGuard = cgen.generalLengthAccessGuard(param)
|
||||||
if None == lenAccess or "1" == lenAccess:
|
if None == lenAccess or "1" == lenAccess:
|
||||||
cgen.stmt("boxed_%s_preserve = %s" % (param.paramName, param.paramName))
|
cgen.stmt("boxed_%s_preserve = %s" % (param.paramName, param.paramName))
|
||||||
cgen.stmt("%s = unbox_%s(%s)" % (param.paramName, param.typeName, param.paramName))
|
cgen.stmt("%s = try_unbox_%s(%s)" % (param.paramName, param.typeName, param.paramName))
|
||||||
else:
|
else:
|
||||||
if lenAccessGuard is not None:
|
if lenAccessGuard is not None:
|
||||||
cgen.beginIf(lenAccessGuard)
|
cgen.beginIf(lenAccessGuard)
|
||||||
cgen.beginFor("uint32_t i = 0", "i < %s" % lenAccess, "++i")
|
cgen.beginFor("uint32_t i = 0", "i < %s" % lenAccess, "++i")
|
||||||
cgen.stmt("boxed_%s_preserve[i] = %s[i]" % (param.paramName, param.paramName))
|
cgen.stmt("boxed_%s_preserve[i] = %s[i]" % (param.paramName, param.paramName))
|
||||||
cgen.stmt("((%s*)(%s))[i] = unbox_%s(%s[i])" % (param.typeName, param.paramName, param.typeName, param.paramName))
|
cgen.stmt("((%s*)(%s))[i] = try_unbox_%s(%s[i])" % (param.typeName, param.paramName, param.typeName, param.paramName))
|
||||||
cgen.endFor()
|
cgen.endFor()
|
||||||
if lenAccessGuard is not None:
|
if lenAccessGuard is not None:
|
||||||
cgen.endIf()
|
cgen.endIf()
|
||||||
|
Reference in New Issue
Block a user