fn emit_prolog(&mut self) {
        // Base pointer logic
        self.emit_raw(&[
            0x55,               // `push rbp`   // FIXME this might be unnecessary
            0x48, 0x89, 0xe5,   // `mov rbp, rsp`
        ]);

        // `esi` is callee-saved at least on Windows.
        // FIXME: We should express this in a better way. `reg` contains callee-saved info, but it's
        // only used for allocable regs.
        self.emit_rsi_save();

        let state_addr = self.state_address() as *mut ChipState;
        self.emit_load_rsi_ptr(state_addr);
    }
/// Writes the function prolog, which makes sure all invariants held by the JIT are met after
/// this has executed.
Writes the function prolog, which makes sure all invariants held by the JIT are met after
this has executed.
Writes the function prolog which makes sure all invariants held by the JIT are met after this has executed .
fn emit_prolog(&mut self) {
        // Base pointer logic
        self.emit_raw(&[
            0x55,               // `push rbp`   // FIXME this might be unnecessary
            0x48, 0x89, 0xe5,   // `mov rbp, rsp`
        ]);
        // `esi` is callee-saved at least on Windows.
        // FIXME: We should express this in a better way. `reg` contains callee-saved info, but it's
        // only used for allocable regs.
        self.emit_rsi_save();
        let state_addr = self.state_address() as *mut ChipState;
        self.emit_load_rsi_ptr(state_addr);
    }
fn emit_prolog ( & mut self ) { // Base pointer logic self . emit_raw ( & [ 0x55 , // `push rbp`   // FIXME this might be unnecessary 0x48 , 0x89 , 0xe5 , // `mov rbp, rsp` ] ) ; // `esi` is callee-saved at least on Windows. // FIXME: We should express this in a better way. `reg` contains callee-saved info, but it's // only used for allocable regs. self . emit_rsi_save ( ) ; let state_addr = self . state_address ( ) as * mut ChipState ; self . emit_load_rsi_ptr ( state_addr ) ; }
Writes the function prolog, which makes sure all invariants held by the JIT are met after
this has executed.
Writes the function prolog which makes sure all invariants held by the JIT are met after this has executed .
&mut self
&mut self