1. 07 Sep, 2016 1 commit
  2. 30 Mar, 2016 1 commit
  3. 17 Mar, 2016 1 commit
    • Thomas Van Lenten's avatar
      Shrink ObjC overhead (generated size and some runtime sizes) · 79a23c43
      Thomas Van Lenten authored
      NOTE: This is a binary breaking change as structure sizes have changed size
      and/or order.
      
      - Drop capturing field options, no other options were captured and other mobile
        targeted languages don't try to capture this sort information (saved 8
        bytes for every field defined (in static data and again in field descriptor
        instance size data).
      - No longer generate/compile in the messages/enums in descriptor.proto. If
        developers need it, they should generate it and compile it in. Reduced the
        overhead of the core library.
      - Compute the number of has_bits actually needs to avoid over reserving.
      - Let the boolean single fields store via a has_bit to avoid storage, makes
        the common cases of the instance size smaller.
      - Reorder some flags and down size the enums to contain the bits needed.
      - Reorder the items in the structures to manually ensure they are are packed
        better (especially when generating 64bit code - 8 bytes for every field,
        16 bytes for every extension, instance sizes 8 bytes also).
      - Split off the structure initialization so when the default is zero, the
        generated static storage doesn't need to reserve the space. This is batched
        at the message level, so all the fields for the message have to have zero
        defaults to get the saves. By definition all proto3 syntax  files fall into
        this case but it also saves space for the proto2 that use the standard
        defaults. (saves 8 bytes of static data for every field that had a zero
        default)
      - Don't track the enums defined by a message. Nothing in the runtime needs it
        and it was just generation and runtime overhead. (saves 8 bytes per enum)
      - Ensure EnumDescriptors are started up threadsafe in all cases.
      - Split some of the Descriptor initialization into multiple methods so the
        generated code isn't padded with lots of zero/nil args.
      - Change how oneof info is feed to the runtime enabling us to generate less
        static data (8 bytes saved per oneof for 64bit).
      - Change how enum value informat is capture to pack the data and only decode
        it if it ends up being needed. Avoids padding issues causing bloat of 64bit,
        and removes the needs for extra pointers in addition to the data (just the
        data and one pointer now).
      79a23c43
  4. 15 Feb, 2016 1 commit
    • Jon Skeet's avatar
      Generate C# code whenever descriptor.proto changes · 957e877d
      Jon Skeet authored
      This is a start to fixing issue #1212. It won't help for test protos,
      conformance etc, but it will definitely be better than nothing, and
      would have highlighted a change in descriptor.proto which broken C#
      earlier.
      957e877d
  5. 29 Jan, 2016 1 commit
    • Jisi Liu's avatar
      Integrate from google internal. · 5221dcbe
      Jisi Liu authored
      Java files are moved to un-do the hack in the prevous commit, which
      moved the java files to the original position for integration.
      5221dcbe
  6. 08 Sep, 2015 1 commit
  7. 21 Jul, 2015 1 commit
    • TeBoring's avatar
      Add packFrom, unpackTo and is in google.protobuf.Any. · 7366efd8
      TeBoring authored
      The previous two methods make it easy to transform between any and normal message.
      unPackeTo will throw error if the type url in any doesn't match the type of the message to be transformed to.
      is checks any's type url matches the give GPBMessage type.
      7366efd8
  8. 22 May, 2015 1 commit
  9. 11 May, 2015 1 commit
  10. 30 Apr, 2015 1 commit
  11. 02 Mar, 2015 1 commit
  12. 01 Mar, 2015 1 commit
  13. 18 Dec, 2009 1 commit
  14. 29 Jul, 2009 1 commit
  15. 02 Dec, 2008 1 commit
    • kenton@google.com's avatar
      * Avoid using pushd/popd in generate_descriptor_proto.sh because they are · 2f669cbe
      kenton@google.com authored
        bash-only features, and /bin/sh is not a symlink to bash on all systems.
      * If an input file is a Windows absolute path (e.g. "C:\foo\bar.proto") and
        the import path only contains "." (or contains "." but does not contain
        the file), protoc incorrectly thought that the file was under ".", because
        it thought that the path was relative (since it didn't start with a slash).
        This has been fixed.
      2f669cbe
  16. 22 Oct, 2008 1 commit
  17. 14 Aug, 2008 1 commit
  18. 13 Aug, 2008 1 commit
    • temporal's avatar
      Integrate recent changes from google3. · 779f61c6
      temporal authored
      protoc
      - New flags --encode and --decode can be used to convert between protobuf text
        format and binary format from the command-line.
      - New flag --descriptor_set_out can be used to write FileDescriptorProtos for
        all parsed files directly into a single output file.  This is particularly
        useful if you wish to parse .proto files from programs written in languages
        other than C++: just run protoc as a background process and have it output
        a FileDescriptorList, then parse that natively.
      
      C++
      - Reflection objects are now per-class rather than per-instance.  To make this
        possible, the Reflection interface had to be changed such that all methods
        take the Message instance as a parameter.  This change improves performance
        significantly in memory-bandwidth-limited use cases, since it makes the
        message objects smaller.  Note that source-incompatible interface changes
        like this will not be made again after the library leaves beta.
      
      Python
      - MergeFrom(message) and CopyFrom(message) are now implemented.
      - SerializeToString() raises an exception if the message is missing required
        fields.
      - Code organization improvements.
      - Fixed doc comments for RpcController and RpcChannel, which had somehow been
        swapped.
      779f61c6
  19. 10 Jul, 2008 1 commit