From cafc05357c25160f68afc97c5c44dd5b77d0fff8 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 22 Sep 2016 10:09:38 -0700 Subject: [PATCH] Remove has_trivial_move trait from StringPool types StringPool:entry* are not trivially moveable, as they contain Vector<> objects. The data in Vector<> is trivially moveable, but Vector<> itself is a dynamic type with a vtable, which is not trivially moveable. Impact on aapt for frameworks-res is negligible, ~3%. Bug: 31595853 Test: m -j framework-res Change-Id: I562a46ef8934aed7aab5c5377db53d9cf64a08b9 --- tools/aapt/StringPool.h | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tools/aapt/StringPool.h b/tools/aapt/StringPool.h index 625b0bfb38323..253bcca4f5070 100644 --- a/tools/aapt/StringPool.h +++ b/tools/aapt/StringPool.h @@ -12,7 +12,6 @@ #include #include -#include #include #include @@ -179,13 +178,5 @@ private: Vector mOriginalPosToNewPos; }; -// The entry types are trivially movable because all fields they contain, including -// the vectors and strings, are trivially movable. -namespace android { - ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry); - ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry_style_span); - ANDROID_TRIVIAL_MOVE_TRAIT(StringPool::entry_style); -}; - #endif