Version 2 (modified by whiteknight, 5 years ago)

+ two tasklist items concerning arrays

Questions

Resizable Arrays

  • Do any HLL's use Resizable Arrays without extending them to include initialization of unset elements?

They were originally included as counterparts to the Fixed Arrays, but extended to support pop, push, shift, unshift and set-integer. However it seems that the lack of initialization is a misplaced optimization that is probably of no use to any HLL, forcing every HLL to override this behaviour.

Tasks

Resizable Arrays

  • Update all ResizableArrays to perform initialization of unset elements, in particular those that re-appear when an array is shrunk and then re-extended. Assuming of course no HLL's would suffer significantly from this "pessimization".
  • Array types should grow by powers of two (or multiples of system page size for large arrays) for improved allocation performance
  • Deprecate and remove Array PMC type.