mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
on x86 (systemv, haven't checked windows) pass small structs via registers
This commit is contained in:
parent
052ee0cc5f
commit
5f9008fbcc
3 changed files with 150 additions and 25 deletions
|
@ -692,6 +692,7 @@ impl<
|
|||
if let LayoutRepr::Struct(field_layouts) = layout {
|
||||
let mut current_offset = base_offset;
|
||||
for (field, field_layout) in fields.iter().zip(field_layouts.iter()) {
|
||||
let field_size = layout_interner.stack_size(*field_layout);
|
||||
self.copy_symbol_to_stack_offset(
|
||||
layout_interner,
|
||||
buf,
|
||||
|
@ -699,7 +700,6 @@ impl<
|
|||
field,
|
||||
field_layout,
|
||||
);
|
||||
let field_size = layout_interner.stack_size(*field_layout);
|
||||
current_offset += field_size as i32;
|
||||
}
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue