summaryrefslogtreecommitdiff
path: root/libs/ui/Gralloc2.cpp
diff options
context:
space:
mode:
author Lloyd Pique <lpique@google.com> 2017-12-19 13:22:33 -0800
committer Lloyd Pique <lpique@google.com> 2018-01-26 12:58:57 -0800
commitf58625d9fba0ac42ecc4f6eb41a60a4af51e6c3c (patch)
treeb11c01aebfcbcfe36d996b186deb90d01bd6acc3 /libs/ui/Gralloc2.cpp
parent66ce40d9203ea4d6e8316c0019852e9992612def (diff)
SF: Introduce libsurfaceflinger_unittest
This is meant to be a framework for running function-level unit tests against the various SurfaceFlinger classes. The point of this patch is to set up the test framework, as well as demonstrate a pattern to be used to allow private implementation functions to be tested. Note that this patch configures the base surfaceflinger code to now use ThinLTO, and enables -fwhole-program-vtables. This is done as ThinLTO with that option will perform a devirtualization pass, turning virtual function calls back into non-virtual function calls (and possibly even inlining the call) when it detects that there is only one possible implementation being called. The cost is a slight increase in build time (similar to -O2), but is still much less than the original LTO. Even here that LTO pass does something to the surfaceflinger binary, reducing the file size by 4Kb. Test: libsurfaceflinger_unittest passes on Pixel XL Test: atest libsurfaceflinger_unittest runs the new test Bug: None Change-Id: I362ec1fcf1a909c4d6769710d8d8a6b0b158600d
Diffstat (limited to 'libs/ui/Gralloc2.cpp')
0 files changed, 0 insertions, 0 deletions