diff --git a/rts/LdvProfile.c b/rts/LdvProfile.c index 9499fdb7cb0319c8feb32efc3867646831a900f1..608961e24678fba100b322ac766396f1d95a00b9 100644 --- a/rts/LdvProfile.c +++ b/rts/LdvProfile.c @@ -101,6 +101,7 @@ processHeapClosureForDead( const StgClosure *c ) case CONSTR_2_0: case CONSTR_1_1: case CONSTR_0_2: + case CONSTR_NOCAF: case FUN: case FUN_1_0: case FUN_0_1: @@ -130,7 +131,6 @@ processHeapClosureForDead( const StgClosure *c ) case IND_STATIC: case FUN_STATIC: case THUNK_STATIC: - case CONSTR_NOCAF: // stack objects case UPDATE_FRAME: case CATCH_FRAME: @@ -139,6 +139,9 @@ processHeapClosureForDead( const StgClosure *c ) case RET_BCO: case RET_SMALL: case RET_BIG: + case CATCH_STM_FRAME: + case CATCH_RETRY_FRAME: + case ATOMICALLY_FRAME: // others case INVALID_OBJECT: case COMPACT_NFDATA: diff --git a/testsuite/tests/profiling/should_run/all.T b/testsuite/tests/profiling/should_run/all.T index 5ee45c35f39a430a918c62c518385f6b00202753..8d605f2da2bc6d899f811841fe93a8efd668e3f1 100644 --- a/testsuite/tests/profiling/should_run/all.T +++ b/testsuite/tests/profiling/should_run/all.T @@ -34,8 +34,7 @@ test('T3001', [only_ways(['prof_hb']), extra_ways(['prof_hb'])], compile_and_run, ['']) test('T3001-2', - [only_ways(['prof_hb']), extra_ways(['prof_hb']), - when(wordsize(32), expect_broken(15063))], + [only_ways(['prof_hb']), extra_ways(['prof_hb'])], compile_and_run, ['-package bytestring']) # For profasm/profthreaded, the answer is correct but the ordering of some