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.

37 lines
1.2 KiB

11 years ago
--- !ditz.rubyforge.org,2008-03-06/issue
title: allocate all built-in strings from a single blob to reduce memory clutter
desc: ""
type: :task
component: duk
release: v0.9
reporter: sva <sami.vaarala@iki.fi>
status: :unstarted
disposition:
creation_time: 2013-12-07 16:41:43.398530 Z
references: []
id: 9989fc50339dceab1c14c50360c0a31fc48508e5
log_events:
- - 2013-12-07 16:41:43.534540 Z
- sva <sami.vaarala@iki.fi>
- created
- ""
- - 2013-12-07 18:59:11.389745 Z
- sva <sami.vaarala@iki.fi>
- assigned to release v0.9 from v0.8
- ""
- - 2013-12-07 19:05:55.859769 Z
- sva <sami.vaarala@iki.fi>
- commented
- |-
init_heap_strings() could do this quite easily, but must have another helper
besides duk_heap_string_intern() which takes a preallocated duk_hstring.
Probably need two passes over the built-in data: first pass to compute the
necessary combined size of the strings and the heap headers, and a second
one to actually initialize the strings.
The forced refcount of 1 and forced reachability of the strings should be
enough to keep the strings from ever being freed. In any case, maybe assert
for that when heap objects are freed.