--- protobuf-cleaned/src/google/protobuf/compiler/cpp/cpp_message.cc 2015-12-30 13:21:46.000000000 -0800 +++ protobuf-patched/src/google/protobuf/compiler/cpp/cpp_message.cc 2016-03-31 13:25:40.888006485 -0700 @@ -1035,7 +1035,7 @@ } printer->Print(vars, - "void Swap($classname$* other);\n" + "GOOGLE_ATTRIBUTE_NOINLINE void Swap($classname$* other);\n" "\n" "// implements Message ----------------------------------------------\n" "\n" @@ -2586,7 +2586,7 @@ // ownership situation: swapping across arenas or between an arena and a // heap requires copying. printer->Print( - "void $classname$::Swap($classname$* other) {\n" + "GOOGLE_ATTRIBUTE_NOINLINE void $classname$::Swap($classname$* other) {\n" " if (other == this) return;\n" " if (GetArenaNoVirtual() == other->GetArenaNoVirtual()) {\n" " InternalSwap(other);\n"