mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-20 07:17:50 +03:00
Use ImSet for register types
This commit is contained in:
parent
35fd54b8fd
commit
06ceace7a1
@ -59,7 +59,7 @@ pub fn build_module<'a>(
|
||||
}
|
||||
|
||||
// Build procedures.
|
||||
let mut backend: X86_64Backend = Backend::new(env);
|
||||
let mut backend: X86_64Backend = Backend::new(env, target);
|
||||
for (proc_id, proc) in procs {
|
||||
let proc_data = backend.build_proc(proc);
|
||||
output.add_symbol_data(proc_id, text, proc_data, 16);
|
||||
|
@ -55,7 +55,8 @@ impl<'a> Backend<'a> for X86_64Backend<'a> {
|
||||
Register::R8,
|
||||
Register::R9,
|
||||
],
|
||||
caller_saved_regs: im_rc::hashset![
|
||||
// TODO: stop using vec! here. I was just have trouble with some errors, but it shouldn't be needed.
|
||||
caller_saved_regs: ImSet::from(vec![
|
||||
Register::RAX,
|
||||
Register::RCX,
|
||||
Register::RDX,
|
||||
@ -66,15 +67,15 @@ impl<'a> Backend<'a> for X86_64Backend<'a> {
|
||||
Register::R9,
|
||||
Register::R10,
|
||||
Register::R11,
|
||||
],
|
||||
callee_saved_regs: im_rc::hashset![
|
||||
]),
|
||||
callee_saved_regs: ImSet::from(vec![
|
||||
Register::RBX,
|
||||
Register::RBP,
|
||||
Register::R12,
|
||||
Register::R13,
|
||||
Register::R14,
|
||||
Register::R15,
|
||||
],
|
||||
]),
|
||||
shadow_space_size: 0,
|
||||
red_zone_size: 128,
|
||||
},
|
||||
@ -84,7 +85,7 @@ impl<'a> Backend<'a> for X86_64Backend<'a> {
|
||||
buf: bumpalo::vec!(in env.arena),
|
||||
symbols_map: MutMap::default(),
|
||||
gp_param_regs: &[Register::RCX, Register::RDX, Register::R8, Register::R9],
|
||||
caller_saved_regs: im_rc::hashset![
|
||||
caller_saved_regs: ImSet::from(vec![
|
||||
Register::RAX,
|
||||
Register::RCX,
|
||||
Register::RDX,
|
||||
@ -92,8 +93,8 @@ impl<'a> Backend<'a> for X86_64Backend<'a> {
|
||||
Register::R9,
|
||||
Register::R10,
|
||||
Register::R11,
|
||||
],
|
||||
callee_saved_regs: im_rc::hashset![
|
||||
]),
|
||||
callee_saved_regs: ImSet::from(vec![
|
||||
Register::RBX,
|
||||
Register::RBP,
|
||||
Register::RSI,
|
||||
@ -103,7 +104,7 @@ impl<'a> Backend<'a> for X86_64Backend<'a> {
|
||||
Register::R13,
|
||||
Register::R14,
|
||||
Register::R15,
|
||||
],
|
||||
]),
|
||||
shadow_space_size: 32,
|
||||
red_zone_size: 0,
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user