Skip to content

econd parameter lut specialization#384

Draft
tomeichlersmith wants to merge 6 commits intomainfrom
266-econ-specific-compiler
Draft

econd parameter lut specialization#384
tomeichlersmith wants to merge 6 commits intomainfrom
266-econ-specific-compiler

Conversation

@tomeichlersmith
Copy link
Copy Markdown
Member

This resolves #266 by separating out the heavy/large ZS pages so we don't carry them around when doing normal interactions.

  • drop tracking of zero-bit registers
  • move LUT including ZS parameters to econd::with_zs and have the default LUT econd not include the ZS

this is helping bloat the maps, shrinking map size could help with
speed, now failing on counting number of bytes per base address
with the zero-registers being skipped, the counts have changed
there are so many ZS parameters that carrying around these maps (and the
large set of values if dump/load "all" parameters is not needed) we can
opt into include them again by undoing this change or (more likely)
compilng the ZS parameters into registers offline and then loading those
registers separately from other parameters
Comment on lines -96 to +97
# if no bits used all bytes get n_bits=0
return [f"RegisterLocation(0x{address + i:04x}, 0, 0)" for i in range(size_byte)]
# if no bits
return []
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cmantill I'm curious on why you included these zero-bit register locations in the original mapping. Removing them allows the tests to pass with the only change to the tests being the base address -> number of bytes mapping for the test parameter set.

f.write(',\n'.join(
' {"%s", {%s::PAGE_LUT, %s::PARAMETER_LUT}}'%(rt,rt,rt)
for rt in all_types
for rt in all_types+["econd::with_zs"]
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To Do:

  • document what happens when I try to access a ZS parameter
  • make sure I can do pfcompile -t econd::with_zs as I think I can

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cleanup/refactor Compiler or its usage within ECON

1 participant