This reverts commit 129a7c875f. We are
seeing the following error when building Python release artifacts in Windows:
" error LNK2038: mismatch detected for 'RuntimeLibrary': value
'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in
descriptor.obj".
* Make reserve names map persistent
* Add DescriptorInternal to map
* Use get_msgdef_desc in encode_decode.c
* Add persistent map for ce=>def and enum=>def
* Replace get_ce_obj
* Remove get_proto_obj
* Remove obsolete fields from Descriptor and EnumDescriptor
* Add cache for descriptor php values
* Add cache for descriptors
* Fix bug
* Avoid add generated file again if it has been added
* Fix the bug upb depends on null-ended str for look up.
* Initialize generated pool impl
* Turn down old generated pool
* Add init entry flag protobuf.keep_descriptor_pool_after_request
By default, it's off. Add protobuf.keep_descriptor_pool_after_request=1 to php.ini to enable it
* Fix zts build
* Register additional handlers from wrappers
* Return zval instead of parse frame
* Use parse frame
* Update upb
* Lazily create wrapper messages
* Fix a segment fault
Need check type of field before getting submsg def
* Avoid expanding during serialization and direct access
* Fix a bug that getXXXUnwrapped returns null for string
* Implement writeWrapperUnwrapped
* Add more tests
* Fix oneof wrapper parsing
* Fix get oneof field
* Avoid expansion for oneof wrappers
* Fix bug
* Fix a bug that in php7 variable is defined out of scope
* Fix broken tests
* Update upb to fix Timestamp conformance tests
* Fix segmentation fault for oneof wrapper fields
* Fix encoding/decoding top level wrapper values
* Add type checking for write wrapper value in php7
* Fix zts build
* Fix the bug that readWrapperValue uses parent message's layout to access wrapper value
* Fix wrapper in map