History log of /frameworks/native/include/binder/Parcel.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c517681c66a1a387be657e0cf06da8d19659dd14 18-Nov-2017 Michael Wachenschwanz <mwachens@google.com> Disallow reading object data from Parcels with non-object reads

The check added to each non-object reads adds an overhead. If the
objects (binders and file descriptors) were written to the Parcel in
sequential order then check adds a small O(1) overhead to each read,
plus an O(N) overhead to the first read (to verify the N objects were
added in order).
If the objects were written out of order (as in by jumping around the Parcel
with setDataPosition and writing Binder, DON'T DO THIS!!) (writing non
objects out of order is fine), the first read is forced to sort the objects
in the internal bookkeeping. Based on the assumption non sequential writes
are infrequent and overall Parcels are probably mostly sorted, insertion
sort was used. Worst case sorts will add an O(N^2) overhead to the first
non object read from the Parcel.

Test: run cts -m CtsOsTestCases -t android.os.cts.ParcelTest

Bug: 29833520
Change-Id: I82de8eb5f5eb56f869542d5358e96884c24301b2
/frameworks/native/libs/binder/include/binder/Parcel.h
5583be7f9c18a1da0a8ea050b35e87128a8bc872 25-Mar-2017 Vijay Venkatraman <vijaykv@google.com> Move include/binder to libs/binder/include

Also moved include/private/binder to libs/binder/include/private/binder.
This allows libbinder to be compiled without depending on global
headers.

Bug: 33241851
Test: Build, flash, and run sailfish.
Test: Try building with BOARD_VNDK_VERSION := current
Change-Id: I0a82b733353add589de26eb2db7af5a246e5c97f
/frameworks/native/libs/binder/include/binder/Parcel.h