The attached changeset cleans up some code with respect to Context return and jump. I recommend that this goes into 3.7. This must be loaded into an image which already has 5805-UnwindFixes-ajh loaded.
Cheers, Anthony
__________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/
Recommend including. Reviewed and Tested with 3.7 #5923. Attached are additional SUnitTests for BlockContext and MethodContext The following relevant tests executed cleanly BlockContextTest 12 12 0 0 (updated) CompiledMethodTest 6 6 0 0 [tests returned values] ContextPartTest 7 7 0 0 (new) ProcessBrowserTest 4 0 0 0 [is subtype of Class test but has no methods of own?] ProcessTerminateBug 3 3 0 0 [tests process terminate, unwind] Total 16 Other tests run cleanly, but largely irrelevant ClassTest 2 2 0 0 [tests for uncomment class, unclassified methods, new] CompiledMethodTest 6 6 0 0 [tests returned values] InstVarRefLocatorTest 3 3 0 0 [tests methods for ivars] InstructionClientTest 1 0 0 0 [tests instruction interpreting] InstructionPrinterTest 5 5 0 0 [tests instruction printing] MethodReferenceTest 6 5 1 0 [is subtype of Class test, add tests for method equality] (#testClassComment fails, as it does w/o cs)
Thanks tom this is really excellent to have somebody doing that. I will have a look Stef
On 31 mai 04, at 23:26, tomkoenig@mindspring.com wrote:
Recommend including. Reviewed and Tested with 3.7 #5923. Attached are additional SUnitTests for BlockContext and MethodContext The following relevant tests executed cleanly BlockContextTest 12 12 0 0 (updated) CompiledMethodTest 6 6 0 0 [tests returned values] ContextPartTest 7 7 0 0 (new) ProcessBrowserTest 4 0 0 0 [is subtype of Class test but has no methods of own?] ProcessTerminateBug 3 3 0 0 [tests process terminate, unwind] Total 16 Other tests run cleanly, but largely irrelevant ClassTest 2 2 0 0 [tests for uncomment class, unclassified methods, new] CompiledMethodTest 6 6 0 0 [tests returned values] InstVarRefLocatorTest 3 3 0 0 [tests methods for ivars] InstructionClientTest 1 0 0 0 [tests instruction interpreting] InstructionPrinterTest 5 5 0 0 [tests instruction printing] MethodReferenceTest 6 5 1 0 [is subtype of Class test, add tests for method equality] (#testClassComment fails, as it does w/o cs) <ContextPartTests.cs.gz>
I don't think this is urgently crucial but it is a good improvement to the relevant code.
The main change is to protect the running of the unwind blocks so they won't fire twice - though so far as I can see this only has any effect on unwind blocks involved in exception handling, of which there seems to be a small number. The loop to detect unwind blocks is made more intelligable although by fluke of the way terminateTo: works the fuctionality remains the same.
squeak-dev@lists.squeakfoundation.org