[m-dev.] .NET back-end test results

Peter Ross pro at missioncriticalit.com
Sat Nov 9 03:11:54 AEDT 2002


On Sat, Oct 26, 2002 at 01:20:31AM +1000, Fergus Henderson wrote:
> B9
> - tests/valid/soln_context dies with "stack underflow"
>   due to problem with "free->free" modes
> 
Hmmm I had a look at this one and I am not clear enough on how nondet works on
the IL backend to debug this.

I have attached the method which causes the stack under flow and marked the
location with an XXX where it occurs.


method public static default 
	bool
	'q_0_p'()
{
maxstack 2
	
	.line 9 'soln_context.m'
	
	.line 9 'soln_context.m'
	{	// #1
	
	.line 9 'soln_context.m'
	{	// #2
	.locals (
		valuetype 'soln_context'.'q_0_p_0_env_0' 'env',
		valuetype 'soln_context'.'q_0_p_0_env_0'& 'env_ptr'
	)

	
	.line 9 'soln_context.m'
	ldloca	'env'
	stloc	'env_ptr'
	
	.line 13 'soln_context.m'
	{	// #3
	
	.line 13 'soln_context.m'
	.try {	// #4
	
	.line 13 'soln_context.m'
	{	// #5
	
	.line 13 'soln_context.m'
	{	// #6
	
	.line 13 'soln_context.m'
	ldftn	void
		'soln_context'.'mercury_code'::'q_0_p_i3'(
			int32,
			int32,
			native unsigned int
		)
	ldloc	'env_ptr'

		// XXX Here is the stack underflow only two things on the stack
		// at this point.
	call	void
		'soln_context'.'mercury_code'::'p1_2'(
			int32&,
			int32,
			native unsigned int
		)
	}	// #6
	
	.line 13 'soln_context.m'
	ldloc	'env_ptr'
	ldc.i4.0
	stfld	bool
		'soln_context'.'q_0_p_0_env_0'::'succeeded'
	}	// #5
	leave	l1
	}	// #4 (try block)
	catch ['mercury']'mercury'.'runtime'.'Commit' {	// #7
	pop
	
	.line 13 'soln_context.m'
	ldloc	'env_ptr'
	ldc.i4.1
	stfld	bool
		'soln_context'.'q_0_p_0_env_0'::'succeeded'
	leave	l1
	}	// #7 (catch block)
	l1:
	
	.line 13 'soln_context.m'
	ldloc	'env_ptr'
	ldfld	bool
		'soln_context'.'q_0_p_0_env_0'::'succeeded'
	}	// #3
	}	// #2
	}	// #1
	ret
}
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list