Colin Cross
b83a34f3b7
Optimize NinjaEscapeList to avoid allocating an output slice am: 42b2e906ef
am: d6b9e69e76
am: 2a50415af1
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813841
Change-Id: I84bd55d123781e6df706fadcad48db9e367995ac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:22:47 +00:00
Treehugger Robot
521b42e95d
Merge "Remove pre singletons" into main am: 228915b2f1
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2814612
Change-Id: Ia68b630f4235af4f328c8c99455c93c623a696cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:22:30 +00:00
Colin Cross
3f758a7072
Use strings instead of simpleNinjaStrings where possible am: 95bec3331c
am: d63498db06
am: fcbf4c6598
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813840
Change-Id: Ieb0d91cbc76f447f10e307284a53c502578229ba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:21:56 +00:00
Treehugger Robot
90d740b3cb
Merge "Remove pre singletons" into main am: 228915b2f1
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2814612
Change-Id: I94b057984594b70f513cb314c21924c9a2be0748
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:20:14 +00:00
Colin Cross
db692d156a
Optimize NinjaEscapeList to avoid allocating an output slice am: 42b2e906ef
am: 94bbe04b4c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813841
Change-Id: I13941f33011d9cdf16b56fb95874d95c7a585aa8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:17:19 +00:00
Colin Cross
bc70193eac
Use strings instead of simpleNinjaStrings where possible am: 95bec3331c
am: 539f19d1a8
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813840
Change-Id: I08f337bb8c609e787acacf3fc60da880e2691082
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 18:16:23 +00:00
Treehugger Robot
228915b2f1
Merge "Remove pre singletons" into main
2023-11-02 18:04:52 +00:00
Colin Cross
94bbe04b4c
Optimize NinjaEscapeList to avoid allocating an output slice am: 42b2e906ef
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813841
Change-Id: I7645618790ff32fe76ff066b7a4173996ebf0ec3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:49:09 +00:00
Colin Cross
539f19d1a8
Use strings instead of simpleNinjaStrings where possible am: 95bec3331c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813840
Change-Id: I729a500def4b5f8cfe51e8a2461df90a9ea90c80
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:48:13 +00:00
Colin Cross
2a50415af1
Optimize NinjaEscapeList to avoid allocating an output slice am: 42b2e906ef
am: d6b9e69e76
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813841
Change-Id: I21300a6179ecaaaaa7fe20cf9c9eabfcc4be776b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:45:42 +00:00
Colin Cross
fcbf4c6598
Use strings instead of simpleNinjaStrings where possible am: 95bec3331c
am: d63498db06
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813840
Change-Id: I22f68996fbe404210cd6aa686641c7e2800def35
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 17:42:53 +00:00
Colin Cross
d6b9e69e76
Optimize NinjaEscapeList to avoid allocating an output slice am: 42b2e906ef
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813841
Change-Id: I1e258e75e48649240fed6b4ff86870b8b5ef73fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 16:49:03 +00:00
Colin Cross
d63498db06
Use strings instead of simpleNinjaStrings where possible am: 95bec3331c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2813840
Change-Id: I9be363a22a1551f29d096b32e1ef0ff9a639b217
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-02 16:48:38 +00:00
Cole Faust
41cbc49a25
Remove pre singletons
...
They're no longer used.
Test: m nothing --no-skip-soong-tests
Change-Id: I6481381a2ac6bca4211c88173dd4275261123e86
2023-11-01 15:26:17 -07:00
Colin Cross
42b2e906ef
Optimize NinjaEscapeList to avoid allocating an output slice
...
NinjaEscapeList is called on every input or output of a rule, and
most of the time does not escape anything. Optimize it by returning
the input slice when nothing was escaped. This avoids 1.336 GB of
allocations in my AOSP aosp_cf_x86_64_phone-userdebug build.
Test: TestNinjaEscapeList
Change-Id: I33b9e7b77b33d10401d1ec3546caa6794c567b16
2023-11-01 15:15:16 -07:00
Colin Cross
95bec3331c
Use strings instead of simpleNinjaStrings where possible
...
Storing every string without ninja variable references through
simpleNinjaString costs 24 bytes and a heap allocation. 16 bytes
is used for the ninjaString.str string, 8 bytes for the
ninjaString.variables *[]variableReference. An additional 8 bytes
is used for the resulting pointer into the heap.
The vast majority of calls to simpleNinjaString originate in
blueprint.parseBuildParams, which converts all of the parameters
passed to ctx.Build into ninjaStrings. All together this was
allocating 1.575 GB of *ninjaString objects.
Add a parseNinjaOrSimpleStrings function that converts input strings
into ninjaStrings if they have ninja variable references, but also
returns a slice of plain strings for input strings without any ninja
variable references. That still results in 1.39 GB of allocations just
for the output string slice, so also add an optimization that reuses
the input string slice as the output slice if all of the strings had
no variable references.
Plumb the resulting strings through everywhere that the []*ninjaStrings
were used.
This reduces the total memory allocations inside
blueprint.parseBuildParams in my AOSP aosp_cf_x86_64_phone-userdebug
build from 3.337 GB to 1.786 GB.
Test: ninja_strings_test.go
Change-Id: I51bc138a2a6b1cc7383c7df0a483ccb067ffa02b
2023-11-01 15:15:15 -07:00
Colin Cross
db5957eac4
Remove unnecessary locking in fs am: 098c09334f
am: 7cc3f1cf7f
am: 73b332c5bf
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: Iee511ef1158ea052ba326615159c7d5a02e3921b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 19:49:53 +00:00
Colin Cross
b4b6f100ef
Remove unnecessary locking in fs am: 098c09334f
am: f55930a589
am: a26f03dbfe
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: Ie74a53b24bf3618470bd98e8138524342c5f129c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 19:48:57 +00:00
Colin Cross
73b332c5bf
Remove unnecessary locking in fs am: 098c09334f
am: 7cc3f1cf7f
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: Iec109b7142640cbda9ac82969a7ddf839a01838e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 19:11:09 +00:00
Colin Cross
a26f03dbfe
Remove unnecessary locking in fs am: 098c09334f
am: f55930a589
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: I6887c52049648455079a59fac70a413c6289ad93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 19:08:40 +00:00
Colin Cross
7cc3f1cf7f
Remove unnecessary locking in fs am: 098c09334f
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: I4a6552dcbfae58f59d6eabd8de33d38c1af72bec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 18:23:51 +00:00
Colin Cross
f55930a589
Remove unnecessary locking in fs am: 098c09334f
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2806056
Change-Id: I6703d363e4127f7fde773bf77793f7b531c4d731
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-01 18:21:45 +00:00
Colin Cross
098c09334f
Remove unnecessary locking in fs
...
osFs.acquire and osFs.release are surprisingly expensive, using a
combined 345.7s of runtime in an AOSP aosp_cf_x86_64_phone-userdebug
build. They are used to ensure we don't use too many simultaneous
open files, but many of the functions they are called from don't
actually open a file. Remove them from all the stat-based functions
(Exists, IsDir, IsSymlink, Lstat, Stat), and from ReadLink. After
this change the time spent in acquire and release is effectively
zero.
Test: SOONG_PROFILE_CPU=/tmp/cpu.pprof m nothing
Change-Id: Ie5e22e33c61794354821f05ab79ceb4efc3b276c
2023-10-31 20:24:35 +00:00
Colin Cross
d93518de07
Always generate rules for blueprint tests am: 0065131f50
am: 3d0b9f3337
am: a01937a3fd
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: I8e8e899715af9fc4230dae34a269acf3f9582ceb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 23:32:13 +00:00
Colin Cross
48b5cc4fd6
Always generate rules for blueprint tests am: 0065131f50
am: 6cfb101d57
am: 44ace8cd76
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: Idc694e49a07132ec9722f68f9b7cd07267c06540
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 23:31:52 +00:00
Colin Cross
a01937a3fd
Always generate rules for blueprint tests am: 0065131f50
am: 3d0b9f3337
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: I502a274833b8f1f8275b3550d53dfb07b376d301
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 23:02:09 +00:00
Colin Cross
44ace8cd76
Always generate rules for blueprint tests am: 0065131f50
am: 6cfb101d57
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: Ib36ff445392e5c045901a3efac8efaf7a5ef03f8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 23:00:10 +00:00
Colin Cross
3d0b9f3337
Always generate rules for blueprint tests am: 0065131f50
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: I2263cb65eb81eb0976326aad3c8724f34896b0e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 22:40:45 +00:00
Colin Cross
6cfb101d57
Always generate rules for blueprint tests am: 0065131f50
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2802154
Change-Id: I13bfc46c8d6d2e5a44d756de6fc499f48db1a5f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-24 22:38:52 +00:00
Colin Cross
0065131f50
Always generate rules for blueprint tests
...
Generate the rules to build and run the blueprint tests whether or
not running the tests during bootstrap is enabled, and only add them
as validation dependencies if running the tests is enabled. Export
the outputs of the tests as a phony target for checkbuild to depend on.
Bug: 269296618
Test: m nothing
Test: aninja -t path checkbuild out/host/linux-x86/bin/go/soong-java/test/test.passed
Change-Id: I09cd20d802bed5a659f3f36e87128d4281dfcfb0
2023-10-24 11:05:56 -07:00
Rashid Zaman
0365962565
bpfmt: Process all blueprint files when a directory is specified am: a29ee638ea
am: c72a75269d
am: 177f5bfe6f
am: fedab1373c
am: 103c1e5b8c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2694306
Change-Id: I050e3a3733bbbc40eda2f9209ea65d1563f03897
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-23 04:06:47 +00:00
Rashid Zaman
103c1e5b8c
bpfmt: Process all blueprint files when a directory is specified am: a29ee638ea
am: c72a75269d
am: 177f5bfe6f
am: fedab1373c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2694306
Change-Id: Icfbfc2c60bf5722547d6d33c89fc3b6af5985788
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-23 02:41:07 +00:00
Rashid Zaman
fedab1373c
bpfmt: Process all blueprint files when a directory is specified am: a29ee638ea
am: c72a75269d
am: 177f5bfe6f
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2694306
Change-Id: I3a4151f2c2c9f76d0908b561b9d2d84fe2a8024b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-23 01:36:03 +00:00
Rashid Zaman
177f5bfe6f
bpfmt: Process all blueprint files when a directory is specified am: a29ee638ea
am: c72a75269d
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2694306
Change-Id: Ie7ae46ac64d8511ffbd97cb7831eb8492fce6af4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-23 00:21:44 +00:00
Rashid Zaman
c72a75269d
bpfmt: Process all blueprint files when a directory is specified am: a29ee638ea
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2694306
Change-Id: I7ca72d73c24d2221176998d3d4b08b51d167887a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-22 21:51:17 +00:00
Rashid Zaman
a29ee638ea
bpfmt: Process all blueprint files when a directory is specified
...
Currently when a directory path is specified bpfmt only processes files
named "Blueprints" so change this to also process files with a `.bp`
suffix.
Test: Manual + bpfmt -d frameworks/base/services shows differences
Change-Id: I5a6356f387892934ee8e83362db13cda6156ed51
Signed-off-by: Rashid Zaman <rashidz@meta.com>
2023-08-04 01:01:55 -07:00
Xin Li
1a5e32c2a2
[automerger skipped] Empty Merge Android U (ab/10368041) am: da4de251ac
-s ours am: f6d2187281
-s ours am: 8ed083d352
-s ours am: eccef716c8
-s ours
...
am skip reason: Merged-In Ia1adf67a8c85303f1c3f3ea9d6c1565041eaa1a5 with SHA-1 3f24bff0b4
is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/24087656
Change-Id: Id9bb527383b992d2d8bb9ef444780f643ef4313d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-15 06:22:06 +00:00
Xin Li
eccef716c8
[automerger skipped] Empty Merge Android U (ab/10368041) am: da4de251ac
-s ours am: f6d2187281
-s ours am: 8ed083d352
-s ours
...
am skip reason: Merged-In Ia1adf67a8c85303f1c3f3ea9d6c1565041eaa1a5 with SHA-1 3f24bff0b4
is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/24087656
Change-Id: I0d35269bc70f4a281e824fbcd12174c0cdd722f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-15 05:13:34 +00:00
Xin Li
8ed083d352
[automerger skipped] Empty Merge Android U (ab/10368041) am: da4de251ac
-s ours am: f6d2187281
-s ours
...
am skip reason: Merged-In Ia1adf67a8c85303f1c3f3ea9d6c1565041eaa1a5 with SHA-1 3f24bff0b4
is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/24087656
Change-Id: I9dc53d4ee17a53cd00772086ba1f768346246eb0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-15 04:30:06 +00:00
Xin Li
f6d2187281
[automerger skipped] Empty Merge Android U (ab/10368041) am: da4de251ac
-s ours
...
am skip reason: Merged-In Ia1adf67a8c85303f1c3f3ea9d6c1565041eaa1a5 with SHA-1 3f24bff0b4
is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/blueprint/+/24087656
Change-Id: Ibfa5e043232b200092b7fd1877563f832f20d9bb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-15 03:22:24 +00:00
Xin Li
da4de251ac
Empty Merge Android U (ab/10368041)
...
Bug: 291102124
Merged-In: Ia1adf67a8c85303f1c3f3ea9d6c1565041eaa1a5
Change-Id: I2c12f5bb76746ab889eff1db829d6d586bd64ace
2023-07-14 16:53:21 -07:00
LaMont Jones
3bed49f4ac
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
am: fa016e5910
am: adc079478c
am: 83b2794179
am: ec448f4ec5
am: 87e2c0c0a0
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: I14c65b1cfe92dbe238bb87db545ec150d9668a8b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 21:52:23 +00:00
LaMont Jones
87e2c0c0a0
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
am: fa016e5910
am: adc079478c
am: 83b2794179
am: ec448f4ec5
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: I64326736d5ea454efd45170d1ea0d1ffbaf0615d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 19:58:23 +00:00
LaMont Jones
ec448f4ec5
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
am: fa016e5910
am: adc079478c
am: 83b2794179
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: Id353ea7b4dc1751d82a61c7f07fc94d384e873d9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 19:14:39 +00:00
LaMont Jones
83b2794179
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
am: fa016e5910
am: adc079478c
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: Iad71e5d008fcb4cb975af8a27d88c3e72e320208
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 18:27:08 +00:00
LaMont Jones
adc079478c
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
am: fa016e5910
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: I14994b03e59a038748dc08b1edc37145bb1831f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 17:42:21 +00:00
LaMont Jones
fa016e5910
Wrap singleton ninjaString Eval calls am: 7c2ebdef75
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2654105
Change-Id: I1b40f1aa57d06cee6cacabc1779a7449789986fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-12 16:57:01 +00:00
LaMont Jones
7c2ebdef75
Wrap singleton ninjaString Eval calls
...
This avoids a concurrent map read and write error in parallel
singletons.
Bug: 290795374
Test: manual, treehugger
Change-Id: I7f89909a98c4f530da92a3d2cc01ca8eaeddbfa0
2023-07-11 19:58:01 +00:00
Spandan Das
11193662d0
Merge "Add a testdata property in goPackage and goBinary" am: 5d3bfd147b
am: d1044697df
am: c909cd036d
am: 36511fc852
am: 8e917b6912
am: c6e97e097e
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2636751
Change-Id: I50dc811095d1d5af6a65c6867cd448a3a250f8ae
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-28 21:16:15 +00:00
Spandan Das
c6e97e097e
Merge "Add a testdata property in goPackage and goBinary" am: 5d3bfd147b
am: d1044697df
am: c909cd036d
am: 36511fc852
am: 8e917b6912
...
Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/2636751
Change-Id: Ic3564918364d5e9e14e7c9d38eacae85cb9b50f7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-28 20:29:13 +00:00