commit | 4cad76dcdf3d93de0d1787ff0cc51ce383700517 | [log] [tgz] |
---|---|---|
author | Todd Wang <toddw@google.com> | Sat Apr 09 10:58:12 2016 -0700 |
committer | Todd Wang <toddw@google.com> | Mon Apr 11 20:27:21 2016 +0000 |
tree | 94dc9347049a8785ec595fd172bfe0e83b7d525e | |
parent | a18b0088d835c82a71bff3884374d56970ab68c4 [diff] |
Fix some VDLRead bugs and minor clean-up. While I was implementing the reflect version of VDLRead, I noticed some bugs in both the vdl.Value and codegen versions of VDLRead, so I fixed them. The codegen set/map version was wrong because it was early-existing when the lenhint is 0, rather than calling NextEntry until it returned done. The lenhint handling in general was wrong for multiple types; we need to ensure we end up with nil collections if there are no entries. I also made the codegen version of array faster, by filling the elem in directly, rather than using a temp variable. I changed the vdl.Value version list to add support for our eventual world where the LenHint really isn't set, and employed a simple growth strategy. I also noticed that the type compatibility checks we added make our benchmarks 20% worse. We can deal with that later. MultiPart: 3/4 Change-Id: Ice2c7e85edb8d7e555394008dcba857425dfb8b5
This repository contains a reference implementation of the Vanadium APIs.
Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.