Seed Dict and Set

This changes Dict and Set to have a compilation depedent seed.
The seed is not exposed to userland in anyway.
This gets a much more DOS resistant Dict and Set with no cost.
This commit is contained in:
Brendan Hansknecht 2023-05-25 09:39:52 -07:00
parent 8ecbd8c071
commit b4c359588e
No known key found for this signature in database
GPG key ID: 0EA784685083E75B
11 changed files with 69 additions and 30 deletions

View file

@ -1548,6 +1548,13 @@ trait Backend<'a> {
arg_layouts,
ret_layout,
),
LowLevel::DictPseudoSeed => self.build_fn_call(
sym,
bitcode::UTILS_DICT_PSEUDO_SEED.to_string(),
args,
arg_layouts,
ret_layout,
),
LowLevel::NumToStr => {
let arg_layout = arg_layouts[0];
let intrinsic = match self.interner().get(arg_layout).repr {