[ENH] ContextCleanup-ajh ( [cd][er][et][su] extremely useful; unclear about ContextTag )

Andreas Raab andreas.raab at gmx.de
Fri Jun 27 23:46:28 UTC 2003


Daniel and all,

I spent some time with ContextCleanup and split it up in two - one being
"ContextCleanupPure" and the other one being "Continuations".
ContextCleanupPure contains exclusively the context/EH related changes
whereas Continuations sits on top of it - once loaded you get ContextTag and
Continuation with all it implies. In order to get it up to 3.6 and decouple
it from a number of other changes which are still under discussion (such as
ClosureCompiler) I had to make some modifications but I've done those very
carefully to avoid any need for major rework if we decide to use
ClosureCompiler. The complete list of changes is attached below.

ContextCleanupPure contains everything _except_ the changes done for
Continuations and class MessageCatcher. I feel pretty good about it now but
I would appreciate if someone else could double-check. Continuations
contains both, ContextTag as well as Continuations and will make use of
receiverMap. My feeling here is essentially that we've got room for
discussion on how to go about these issues - for now I feel fine if the
continuation package makes use of it. As need arises (e.g., conflicts with
any other work being done in this area) we can work out solutions.

Cheers,
  - Andreas

Changes from ContextCleanup to ContextCleanupPure:
==================================================

* Relevant Modifications (affects ClosureCompiler)
--------------------------------------------------

CompiledMethod>>decompilerClass
- answers Decompiler (was undeclared due to Decompiler2)

CompiledMethod>>parserClass
- answers Parser (was undeclared due to Parser2)

Compiler>>dialectParserClass
- answers DialectParser (was undeclared due to Parser2)

MethodContext>>contextTag
- returns self by default

* Small Changes (no changes to the way code works)
--------------------------------------------------
CompiledMethod>>longPrintOn:indent: 
- fixed use of #tabs:

ContextTag>>findContextSuchThat: 
- added for polymorphism with ContextPart

Debugger>>pcRange
- fixed undefined reference to RBProgramNode
- fixed use of #reverseDetectIndex:

Exception>>signalerContext
- made polymorphic between context/tag by removing send of #context

InstructionPrinter>>pushConstant:
- fixed undefined reference to BlockClosure

Message>>lookupClass
- added method for MNU error reporting

MethodContext>>isExecutingBlock
- fixed undefined reference to BlockClosure

MethodContext>>restartWithNewReceiver:
- added for polymorphism with ContextTag

Text>>makeSelectorBold
- fixed undeclared variable 'i'

Exception>>outer
- removed 'self halt'.

* Changes for 3.6 integration:
-----------------------------------

TestFailure>>defaultAction
- removed, belongs to SUnit

TestFailure>>isResumable
- removed, belongs to SUnit

Exception>>sunitExitWith:
- removed, belongs to SUnit

Exception class>>sunitSignalWith:
- removed, belongs to SUnit

FileContentsBrowser>>didCodeChangeElsewhere
- removed due to conflict with 5266browsingCodeFixes-asm

InstructionPrinter class definition
- reverted due to conflict with 5241instrPrinter-md

InstructionPrinter>>print:
- merged with conflict in 5241instrPrinter-md

Warning>>defaultAction
- removed due to conflict with 5239KCP63Deprecation-brp

WonderlandVerifier class>>VerifyZeroArgumentBlock:
- removed, belongs to Balloon3D

WorldState>>displayWorldSafely:
- merged with conflict in 5240MCP-Complete

* Moved to Continuations-ajh:
----------------------------------
	- Continuation
	- ContextTag
	- MessageCatcher
	- BlockContext>>callCC
	- ContextPart>>asContinuation
	- ContextPart>>privContextTag
	- MethodContext>>contextTag
	- MethodContext>>privContextTag
	- Message class>>catcher
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ContextCleanupPure-ajh.zip
Type: application/octet-stream
Size: 23617 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030628/87f8b3e3/ContextCleanupPure-ajh.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Continuations-ajh.zip
Type: application/octet-stream
Size: 4868 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030628/87f8b3e3/Continuations-ajh.obj


More information about the Squeak-dev mailing list