1#define NPRIVATES 16 2 3TEXT _mainp(SB), 1, $(16 + NPRIVATES*4) 4 5 MOVW $setR30(SB), R30 6 /* _tos = arg */ 7 MOVW R1, _tos(SB) 8 9 MOVW $p-64(SP), R1 10 MOVW R1, _privates(SB) 11 MOVW $NPRIVATES, R1 12 MOVW R1, _nprivates(SB) 13 14 /* _profmain(); */ 15 JAL _profmain(SB) 16 /* _tos->prof.pp = _tos->prof.next; */ 17 MOVW _tos(SB), R1 18 MOVW 4(R1), R2 19 MOVW R2, 0(R1) 20 /* main(argc, argv); */ 21 MOVW inargc-4(FP), R1 22 MOVW $inargv+0(FP), R2 23 MOVW R1, 4(R29) 24 MOVW R2, 8(R29) 25 JAL main(SB) 26loop: 27 MOVW $exits<>(SB), R1 28 MOVW R1, 4(R29) 29 JAL exits(SB) 30 MOVW $_profin(SB), R0 /* force loading of profile */ 31 JMP loop 32 33TEXT _savearg(SB), 1, $0 34 RET 35 36TEXT _callpc(SB), 1, $0 37 MOVW argp-4(FP), R1 38 RET 39 40DATA exits<>+0(SB)/4, $"main" 41GLOBL exits<>+0(SB), $5 42