rename CodeBuilder methods

This commit is contained in:
Brian Carroll 2021-10-10 16:21:53 +01:00
parent c5ee41af25
commit 041e26e807
3 changed files with 44 additions and 38 deletions

View file

@ -137,24 +137,30 @@ pub fn copy_memory(code_builder: &mut CodeBuilder, config: CopyMemoryConfig) {
let alignment_flag = encode_alignment(config.alignment_bytes);
let mut i = 0;
while config.size - i >= 8 {
code_builder.push(GetLocal(config.to_ptr.0));
code_builder.push(GetLocal(config.from_ptr.0));
code_builder.push(I64Load(alignment_flag, i + config.from_offset));
code_builder.push(I64Store(alignment_flag, i + config.to_offset));
code_builder.add_many(&[
GetLocal(config.to_ptr.0),
GetLocal(config.from_ptr.0),
I64Load(alignment_flag, i + config.from_offset),
I64Store(alignment_flag, i + config.to_offset),
]);
i += 8;
}
if config.size - i >= 4 {
code_builder.push(GetLocal(config.to_ptr.0));
code_builder.push(GetLocal(config.from_ptr.0));
code_builder.push(I32Load(alignment_flag, i + config.from_offset));
code_builder.push(I32Store(alignment_flag, i + config.to_offset));
code_builder.add_many(&[
GetLocal(config.to_ptr.0),
GetLocal(config.from_ptr.0),
I32Load(alignment_flag, i + config.from_offset),
I32Store(alignment_flag, i + config.to_offset),
]);
i += 4;
}
while config.size - i > 0 {
code_builder.push(GetLocal(config.to_ptr.0));
code_builder.push(GetLocal(config.from_ptr.0));
code_builder.push(I32Load8U(alignment_flag, i + config.from_offset));
code_builder.push(I32Store8(alignment_flag, i + config.to_offset));
code_builder.add_many(&[
GetLocal(config.to_ptr.0),
GetLocal(config.from_ptr.0),
I32Load8U(alignment_flag, i + config.from_offset),
I32Store8(alignment_flag, i + config.to_offset),
]);
i += 1;
}
}