Remove has_trivial_move trait from Vector<T>
Vector<T> objects are 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: I8a3269c35d95affb6e86d60588bcfca46db7f445
This commit is contained in:
parent
5cf3db6d2b
commit
097395532b
|
@ -97,13 +97,6 @@ private:
|
|||
SortedVector< key_value_pair_t<KEY, VALUE> > mVector;
|
||||
};
|
||||
|
||||
// KeyedVector<KEY, VALUE> can be trivially moved using memcpy() because its
|
||||
// underlying SortedVector can be trivially moved.
|
||||
template<typename KEY, typename VALUE> struct trait_trivial_move<KeyedVector<KEY, VALUE> > {
|
||||
enum { value = trait_trivial_move<SortedVector< key_value_pair_t<KEY, VALUE> > >::value };
|
||||
};
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
|
|
|
@ -133,10 +133,6 @@ protected:
|
|||
virtual int do_compare(const void* lhs, const void* rhs) const;
|
||||
};
|
||||
|
||||
// SortedVector<T> can be trivially moved using memcpy() because moving does not
|
||||
// require any change to the underlying SharedBuffer contents or reference count.
|
||||
template<typename T> struct trait_trivial_move<SortedVector<T> > { enum { value = true }; };
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// No user serviceable parts from here...
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
@ -207,10 +207,6 @@ protected:
|
|||
virtual void do_move_backward(void* dest, const void* from, size_t num) const;
|
||||
};
|
||||
|
||||
// Vector<T> can be trivially moved using memcpy() because moving does not
|
||||
// require any change to the underlying SharedBuffer contents or reference count.
|
||||
template<typename T> struct trait_trivial_move<Vector<T> > { enum { value = true }; };
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// No user serviceable parts from here...
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue