Addressed PR comments and fixed a bug.
Addressed PR comments and fixed a bug.

We now hold the mutex for both map insertions, to protect
against a concurrent GC that removes from the seconary map
before we can insert into the weak map.

google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf,google/protobuf