xref: /aosp_15_r20/system/extras/simpleperf/runtest/function_recursive.cpp (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1*288bf522SAndroid Build Coastguard Worker constexpr int LOOP_COUNT = 5000000;
2*288bf522SAndroid Build Coastguard Worker 
FunctionRecursive(int loop)3*288bf522SAndroid Build Coastguard Worker void FunctionRecursive(int loop) {
4*288bf522SAndroid Build Coastguard Worker   for (volatile int i = 0; i < LOOP_COUNT; ++i) {
5*288bf522SAndroid Build Coastguard Worker   }
6*288bf522SAndroid Build Coastguard Worker   if (loop > 0) {
7*288bf522SAndroid Build Coastguard Worker     FunctionRecursive(loop - 1);
8*288bf522SAndroid Build Coastguard Worker   }
9*288bf522SAndroid Build Coastguard Worker   for (volatile int i = 0; i < LOOP_COUNT; ++i) {
10*288bf522SAndroid Build Coastguard Worker   }
11*288bf522SAndroid Build Coastguard Worker }
12*288bf522SAndroid Build Coastguard Worker 
main()13*288bf522SAndroid Build Coastguard Worker int main() {
14*288bf522SAndroid Build Coastguard Worker   while (true) {
15*288bf522SAndroid Build Coastguard Worker     FunctionRecursive(10);
16*288bf522SAndroid Build Coastguard Worker   }
17*288bf522SAndroid Build Coastguard Worker   return 0;
18*288bf522SAndroid Build Coastguard Worker }
19