Version 1 (modified by chromatic, 5 years ago)

Created page with suggestions for parrot_interp_t and PackFile

Some of Parrot's C data structures have too many members and those members are too large. This hurts maintainability, increases memory use, and harms processor cache performance. Here are some suggestions for pruning these structs.

parrot_interp_t

  • move into iglobals:
    • gc_registry
    • class_hash ?
  • turn into flags:
    • world_inited
    • sleeping
  • make into pointers:
    • runcores
    • gc
      • lo_var_ptr
      • hi_var_ptr
    • op libs
    • compiler
    • HLLs
    • tasks
    • runloop
    • args/params

PackFile

  • turn into flags:
    • is_mmap_ped
    • need_wordsize?
    • need_endianize