Java
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder. - Move proto wireformat parsing functionality from the private "parsing
constructor" to the Builder class. - Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations. - Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance. - Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field.