You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

45 lines
1.7 KiB

--- !ditz.rubyforge.org,2008-03-06/issue
title: free internal enumerator entries as soon as they've been enumerated
desc: |-
Currently the internal enumerator holds the entire enumaration sequence
until the internal enumerator is freed. Because there is no way to
enumerate a particular sequence twice, the enumerated entries could be
overwritten with e.g. "undefined" values as the enumeration proceeds,
generating string free operations steadily instead of as on massive
chunk as the enumeration finishes.
type: :task
component: duk
release: v0.10
reporter: sva <sami.vaarala@iki.fi>
status: :unstarted
disposition:
creation_time: 2013-12-17 11:18:51.672163 Z
references: []
id: 149481dcf4856c1108d2ef4e17feb2b448fa3dbe
log_events:
- - 2013-12-17 11:18:51.864087 Z
- sva <sami.vaarala@iki.fi>
- created
- ""
- - 2013-12-17 11:19:12.792144 Z
- sva <sami.vaarala@iki.fi>
- commented
- Update hobject-design.txt too.
- - 2013-12-17 12:45:28.370024 Z
- sva <sami.vaarala@iki.fi>
- commented
- |-
Actually enumeration goes through the *keys* (not values) of the internal
enumerator. The keys cannot be replaced with "undefined". They could be
replaced with NULL, but this would lead to the risk of the keys being
compacted and the "_next" internal property being incorrect.
A practical approach would be to replace each key with the empty string as
soon as it was enumerated. This would create duplicate keys in the entry
part, however, something that is not normally allowed so it would need
careful consideration.
- - 2013-12-19 00:58:14.586414 Z
- sva <sami.vaarala@iki.fi>
- assigned to release v0.10 from v0.9
- ""