fn postprocess_fix_labels(&mut self) {
    // Postprocess self.replace_labels, assuming that at this point labels exist
    let mut repl = Vec::<PatchLocation>::new();
    mem::swap(&mut repl, &mut self.replace_labels);

    for ploc in &repl {
      match *ploc {
        PatchLocation::PatchCodeOffset(cmd_offset) => {
          let val = LTerm::from_raw(self.code[cmd_offset]);
          self.code[cmd_offset] = self.postprocess_fix_1_label(val)
        },

        PatchLocation::PatchJtabElement(jtab, index) => {
          let jtab_ptr = rtuple::PtrMut::from_pointer(jtab.box_ptr_mut());
          unsafe {
            let val = jtab_ptr.get_element_base0(index);
            jtab_ptr.set_raw_word_base0(index,
                                       self.postprocess_fix_1_label(val))
          }
        }
      } // match
    } // for ploc
  }
/// Analyze the code and replace label values with known label locations.
Analyze the code and replace label values with known label locations.
Analyze the code and replace label values with known label locations .
fn postprocess_fix_labels(&mut self) {
    // Postprocess self.replace_labels, assuming that at this point labels exist
    let mut repl = Vec::<PatchLocation>::new();
    mem::swap(&mut repl, &mut self.replace_labels);
    for ploc in &repl {
      match *ploc {
        PatchLocation::PatchCodeOffset(cmd_offset) => {
          let val = LTerm::from_raw(self.code[cmd_offset]);
          self.code[cmd_offset] = self.postprocess_fix_1_label(val)
        },
        PatchLocation::PatchJtabElement(jtab, index) => {
          let jtab_ptr = rtuple::PtrMut::from_pointer(jtab.box_ptr_mut());
          unsafe {
            let val = jtab_ptr.get_element_base0(index);
            jtab_ptr.set_raw_word_base0(index,
                                       self.postprocess_fix_1_label(val))
          }
        }
      } // match
    } // for ploc
  }
fn postprocess_fix_labels ( & mut self ) { // Postprocess self.replace_labels, assuming that at this point labels exist let mut repl = Vec :: < PatchLocation > :: new ( ) ; mem :: swap ( & mut repl , & mut self . replace_labels ) ; for ploc in & repl { match * ploc { PatchLocation :: PatchCodeOffset ( cmd_offset ) => { let val = LTerm :: from_raw ( self . code [ cmd_offset ] ) ; self . code [ cmd_offset ] = self . postprocess_fix_1_label ( val ) } , PatchLocation :: PatchJtabElement ( jtab , index ) => { let jtab_ptr = rtuple :: PtrMut :: from_pointer ( jtab . box_ptr_mut ( ) ) ; unsafe { let val = jtab_ptr . get_element_base0 ( index ) ; jtab_ptr . set_raw_word_base0 ( index , self . postprocess_fix_1_label ( val ) ) } } } // match } // for ploc }
Analyze the code and replace label values with known label locations.
Analyze the code and replace label values with known label locations .
&mut self