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