[Pkg] The Trunk: Kernel-nice.300.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Nov 16 17:02:41 UTC 2009


Nicolas Cellier uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-nice.300.mcz

==================== Summary ====================

Name: Kernel-nice.300
Author: nice
Time: 16 November 2009, 6:02:20 am
UUID: cf34e502-1f47-c643-9e3b-c86188c6b61c
Ancestors: Kernel-nice.299

Fix evaluation of Block copy in case of local return

=============== Diff against Kernel-nice.299 ===============

Item was removed:
- ----- Method: BlockClosure>>postCopy (in category 'copying') -----
- postCopy
- 	"To render a copy safe we need to provide a new outerContext that
- 	 cannot be returned from and a copy of any remoteTemp vectors.
- 	 When a block is active it makes no reference to state in its nested
- 	 contexts (this is the whole point of the indirect temps scheme; any
- 	 indirect state is either copied or in indirect temp vectors.  So we
- 	 need to substitute a dummy outerContext and copy the copiedValues,
- 	 copying anything looking like a remote temp vector.  if we accidentally
- 	 copy an Array that isn't actually an indirect temp vector we do extra work
- 	 but don't break anything."
- 
- 	outerContext := MethodContext
- 						sender: nil
- 						receiver: outerContext receiver
- 						method: outerContext method
- 						arguments: #()!



More information about the Packages mailing list