#include "../macros.h" int foo1(); int foo2(); void bar(); int child1(); int child2(); int child3(); int child4(); int child5(); int global; void start() { // Set the stack pointer asm(" mov r13,#0x200000"); PRINT_STR("hello\n"); TRACE_INIT_NAME(701, "proc_foo"); TRACE_INIT_NAME(702, "proc_bar"); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(702); if (global++ > 0) global++; bar(); TRACE_SWITCH(701); if (global++ > 0) global++; foo2(); TRACE_SWITCH(703); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(704); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(705); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(706); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(707); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(708); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(709); if (global++ > 0) global++; foo1(); TRACE_SWITCH(701); if (global++ > 0) global++; foo1(); TRACE_SWITCH(710); if (global++ > 0) global++; foo1(); TRACE_STOP_EMU(); } int foo1() { int a = 0; int ii; for (ii = 0; ii < 3; ++ii) { a += child1(); a += child2(); a += child3(); } return a; } int foo2() { int a = 0; int ii; for (ii = 0; ii < 2; ++ii) { a += child3(); a += child4(); a += child5(); } return a; } #define kStride 64 void bar() { int a = 0; static char mem[1000 * kStride]; int ii, jj; for (ii = 0; ii < 4; ++ii) { for (jj = 0; jj < 10; ++jj) a += mem[jj * kStride]; foo1(); foo2(); } } int child1() { int a = 0; int ii; for (ii = 0; ii < 2; ++ii) a += ii; return a; } int child2() { int a = 0; int ii; for (ii = 0; ii < 4; ++ii) a += ii; return a; } int child3() { int a = 0; int ii; for (ii = 0; ii < 6; ++ii) a += ii; return a; } int child4() { int a = 0; int ii; for (ii = 0; ii < 8; ++ii) a += ii; return a; } int child5() { int a = 0; int ii; for (ii = 0; ii < 10; ++ii) a += ii; return a; }