// Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. #define NOSPLIT 7 #define NOFRAME 512 TEXT ·asmMain(SB),0,$0-0 CALL ·startSelf(SB) CALL ·startChain(SB) CALL ·startRec(SB) RET // Test reporting of basic over-the-limit TEXT ·startSelf(SB),NOSPLIT,$1000-0 RET // Test reporting of multiple over-the-limit chains TEXT ·startChain(SB),NOSPLIT,$16-0 CALL ·chain0(SB) CALL ·chain1(SB) CALL ·chain2(SB) RET TEXT ·chain0(SB),NOSPLIT,$32-0 CALL ·chainEnd(SB) RET TEXT ·chain1(SB),NOSPLIT,$48-0 // Doesn't go over RET TEXT ·chain2(SB),NOSPLIT,$64-0 CALL ·chainEnd(SB) RET TEXT ·chainEnd(SB),NOSPLIT,$1000-0 // Should be reported twice RET // Test reporting of rootless recursion TEXT ·startRec(SB),NOSPLIT|NOFRAME,$0-0 CALL ·startRec0(SB) RET TEXT ·startRec0(SB),NOSPLIT|NOFRAME,$0-0 CALL ·startRec(SB) RET