@@ -255,7 +255,7 @@ fn set_anchor(jit: &mut JitMemory, target: isize) {
255255
256256// Load [src + offset] into dst
257257#[ inline]
258- fn emit_load ( jit : & mut JitMemory , size : OperandSize , src : u8 , dst : u8 , offset : i32 ) {
258+ fn emit_load ( jit : & mut JitMemory , size : & OperandSize , src : u8 , dst : u8 , offset : i32 ) {
259259 let data = match size {
260260 OperandSize :: S64 => 1 ,
261261 _ => 0
@@ -297,7 +297,7 @@ fn emit_load_imm(jit: &mut JitMemory, dst: u8, imm: i64) {
297297
298298// Store register src to [dst + offset]
299299#[ inline]
300- fn emit_store ( jit : & mut JitMemory , size : OperandSize , src : u8 , dst : u8 , offset : i32 ) {
300+ fn emit_store ( jit : & mut JitMemory , size : & OperandSize , src : u8 , dst : u8 , offset : i32 ) {
301301 match size {
302302 OperandSize :: S16 => emit1 ( jit, 0x66 ) , // 16-bit override
303303 _ => { } ,
@@ -325,7 +325,7 @@ fn emit_store(jit: &mut JitMemory, size: OperandSize, src: u8, dst: u8, offset:
325325
326326// Store immediate to [dst + offset]
327327#[ inline]
328- fn emit_store_imm32 ( jit : & mut JitMemory , size : OperandSize , dst : u8 , offset : i32 , imm : i32 ) {
328+ fn emit_store_imm32 ( jit : & mut JitMemory , size : & OperandSize , dst : u8 , offset : i32 , imm : i32 ) {
329329 match size {
330330 OperandSize :: S16 => emit1 ( jit, 0x66 ) , // 16-bit override
331331 _ => { } ,
@@ -485,12 +485,12 @@ impl<'a> JitMemory<'a> {
485485 // We have a fixed (simulated) mbuff: update mem and mem_end offset values in it.
486486 // Store mem at mbuff + mem_offset. Trash R8.
487487 emit_alu64 ( self , 0x01 , RDI , R8 ) ; // add mbuff to mem_offset in R8
488- emit_store ( self , OperandSize :: S64 , RDX , R8 , 0 ) ; // set mem at mbuff + mem_offset
488+ emit_store ( self , & OperandSize :: S64 , RDX , R8 , 0 ) ; // set mem at mbuff + mem_offset
489489 // Store mem_end at mbuff + mem_end_offset. Trash R9.
490- emit_load ( self , OperandSize :: S64 , RDX , R8 , 0 ) ; // load mem into R8
490+ emit_load ( self , & OperandSize :: S64 , RDX , R8 , 0 ) ; // load mem into R8
491491 emit_alu64 ( self , 0x01 , RCX , R8 ) ; // add mem_len to mem (= mem_end)
492492 emit_alu64 ( self , 0x01 , RDI , R9 ) ; // add mbuff to mem_end_offset
493- emit_store ( self , OperandSize :: S64 , R8 , R9 , 0 ) ; // store mem_end
493+ emit_store ( self , & OperandSize :: S64 , R8 , R9 , 0 ) ; // store mem_end
494494
495495 // Move rdi into register 1
496496 if map_register ( 1 ) != RDI {
@@ -522,32 +522,32 @@ impl<'a> JitMemory<'a> {
522522 // BPF_LD class
523523 // R10 is a constant pointer to mem.
524524 ebpf:: LD_ABS_B =>
525- emit_load ( self , OperandSize :: S8 , R10 , RAX , insn. imm ) ,
525+ emit_load ( self , & OperandSize :: S8 , R10 , RAX , insn. imm ) ,
526526 ebpf:: LD_ABS_H =>
527- emit_load ( self , OperandSize :: S16 , R10 , RAX , insn. imm ) ,
527+ emit_load ( self , & OperandSize :: S16 , R10 , RAX , insn. imm ) ,
528528 ebpf:: LD_ABS_W =>
529- emit_load ( self , OperandSize :: S32 , R10 , RAX , insn. imm ) ,
529+ emit_load ( self , & OperandSize :: S32 , R10 , RAX , insn. imm ) ,
530530 ebpf:: LD_ABS_DW =>
531- emit_load ( self , OperandSize :: S64 , R10 , RAX , insn. imm ) ,
531+ emit_load ( self , & OperandSize :: S64 , R10 , RAX , insn. imm ) ,
532532 ebpf:: LD_IND_B => {
533533 emit_mov ( self , R10 , R11 ) ; // load mem into R11
534534 emit_alu64 ( self , 0x01 , src, R11 ) ; // add src to R11
535- emit_load ( self , OperandSize :: S8 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
535+ emit_load ( self , & OperandSize :: S8 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
536536 } ,
537537 ebpf:: LD_IND_H => {
538538 emit_mov ( self , R10 , R11 ) ; // load mem into R11
539539 emit_alu64 ( self , 0x01 , src, R11 ) ; // add src to R11
540- emit_load ( self , OperandSize :: S16 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
540+ emit_load ( self , & OperandSize :: S16 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
541541 } ,
542542 ebpf:: LD_IND_W => {
543543 emit_mov ( self , R10 , R11 ) ; // load mem into R11
544544 emit_alu64 ( self , 0x01 , src, R11 ) ; // add src to R11
545- emit_load ( self , OperandSize :: S32 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
545+ emit_load ( self , & OperandSize :: S32 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
546546 } ,
547547 ebpf:: LD_IND_DW => {
548548 emit_mov ( self , R10 , R11 ) ; // load mem into R11
549549 emit_alu64 ( self , 0x01 , src, R11 ) ; // add src to R11
550- emit_load ( self , OperandSize :: S64 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
550+ emit_load ( self , & OperandSize :: S64 , R11 , RAX , insn. imm ) ; // ld R0, mem[src+imm]
551551 } ,
552552
553553 ebpf:: LD_DW_IMM => {
@@ -559,33 +559,33 @@ impl<'a> JitMemory<'a> {
559559
560560 // BPF_LDX class
561561 ebpf:: LD_B_REG =>
562- emit_load ( self , OperandSize :: S8 , src, dst, insn. off as i32 ) ,
562+ emit_load ( self , & OperandSize :: S8 , src, dst, insn. off as i32 ) ,
563563 ebpf:: LD_H_REG =>
564- emit_load ( self , OperandSize :: S16 , src, dst, insn. off as i32 ) ,
564+ emit_load ( self , & OperandSize :: S16 , src, dst, insn. off as i32 ) ,
565565 ebpf:: LD_W_REG =>
566- emit_load ( self , OperandSize :: S32 , src, dst, insn. off as i32 ) ,
566+ emit_load ( self , & OperandSize :: S32 , src, dst, insn. off as i32 ) ,
567567 ebpf:: LD_DW_REG =>
568- emit_load ( self , OperandSize :: S64 , src, dst, insn. off as i32 ) ,
568+ emit_load ( self , & OperandSize :: S64 , src, dst, insn. off as i32 ) ,
569569
570570 // BPF_ST class
571571 ebpf:: ST_B_IMM =>
572- emit_store_imm32 ( self , OperandSize :: S8 , dst, insn. off as i32 , insn. imm ) ,
572+ emit_store_imm32 ( self , & OperandSize :: S8 , dst, insn. off as i32 , insn. imm ) ,
573573 ebpf:: ST_H_IMM =>
574- emit_store_imm32 ( self , OperandSize :: S16 , dst, insn. off as i32 , insn. imm ) ,
574+ emit_store_imm32 ( self , & OperandSize :: S16 , dst, insn. off as i32 , insn. imm ) ,
575575 ebpf:: ST_W_IMM =>
576- emit_store_imm32 ( self , OperandSize :: S32 , dst, insn. off as i32 , insn. imm ) ,
576+ emit_store_imm32 ( self , & OperandSize :: S32 , dst, insn. off as i32 , insn. imm ) ,
577577 ebpf:: ST_DW_IMM =>
578- emit_store_imm32 ( self , OperandSize :: S64 , dst, insn. off as i32 , insn. imm ) ,
578+ emit_store_imm32 ( self , & OperandSize :: S64 , dst, insn. off as i32 , insn. imm ) ,
579579
580580 // BPF_STX class
581581 ebpf:: ST_B_REG =>
582- emit_store ( self , OperandSize :: S8 , src, dst, insn. off as i32 ) ,
582+ emit_store ( self , & OperandSize :: S8 , src, dst, insn. off as i32 ) ,
583583 ebpf:: ST_H_REG =>
584- emit_store ( self , OperandSize :: S16 , src, dst, insn. off as i32 ) ,
584+ emit_store ( self , & OperandSize :: S16 , src, dst, insn. off as i32 ) ,
585585 ebpf:: ST_W_REG =>
586- emit_store ( self , OperandSize :: S32 , src, dst, insn. off as i32 ) ,
586+ emit_store ( self , & OperandSize :: S32 , src, dst, insn. off as i32 ) ,
587587 ebpf:: ST_DW_REG =>
588- emit_store ( self , OperandSize :: S64 , src, dst, insn. off as i32 ) ,
588+ emit_store ( self , & OperandSize :: S64 , src, dst, insn. off as i32 ) ,
589589 ebpf:: ST_W_XADD => unimplemented ! ( ) ,
590590 ebpf:: ST_DW_XADD => unimplemented ! ( ) ,
591591
0 commit comments