Go to file
David Srbecky 99ae76e24a Enable mini-debug-info for JITed methods by default.
Generate and store minimum amount of information necessary to
create backtraces in native tools (for crashes and profilers).

The data is compressed and takes <5% relative to JIT code size
(which is less than recent stack map savings; so win overall).

Averages for non-compiled run of maps which filled JIT code cache to ~4MB:
Q: code:1.55kb/method data:0.738kb/method debug:0.064kb/method(*this CL*)
P: code:1.62kb/method data:0.956kb/method debug:0.835kb/method(if enabled)

I also measured the P to Q on-disk stack maps savings in CL/762841 as ~28%
(not all of that is applicable to JITed code, so that is an overestimate).

Bug: 111350693
Test: Device boots, mini-debug-info is generated.
Change-Id: I95883bd4f2d5c2308149ab0ba641b0a703c7f81b
2019-01-09 13:32:12 +00:00
common Move dexpreopting to Soong 2018-12-17 13:46:17 -08:00
core Produce ro.build.version.preview_sdk_fingerprint 2018-12-27 12:30:05 -08:00
packaging Fix creating _dist_<goal> targets under !dist 2018-10-21 08:56:27 -07:00
target Enable mini-debug-info for JITed methods by default. 2019-01-09 13:32:12 +00:00
tests Only set TARGET_PLATFORM version in lunch when explicitly requested 2017-05-03 02:47:59 +00:00
tools Put system_other in super.img 2019-01-02 12:05:10 -08:00
.gitignore Add build subprojects to .gitignore 2015-07-23 13:18:47 -07:00
Android.mk Fix the build when using findleaves.py 2017-08-08 09:45:12 -07:00
Changes.md Mark BUILD_NUMBER as obsolete, more vars as readonly 2018-10-22 15:20:26 -07:00
CleanSpec.mk Remove file named .d created in the source directory 2018-12-15 19:13:29 -08:00
OWNERS Use multiple globs/emails in per-file syntax 2018-08-20 14:16:04 -07:00
README.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
Usage.txt Remove showcommands from docs 2018-07-14 09:32:13 -07:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
envsetup.sh Prevent PYTHONPATH from accumulatively growing. 2018-12-22 11:19:40 +08:00
help.sh s/product-services/product_services/g 2018-08-20 10:44:59 -07:00
navbar.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
tapasHelp.sh Remove armv5te 2018-01-08 15:26:16 -08:00

README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.