@@ -377,7 +377,7 @@ impl JitMemory {
377377 /// Bind the current location to `label`.
378378 pub fn bind_label ( & mut self , label : DestLabel ) {
379379 let page = self . page ;
380- self . labels [ label ] . loc = Some ( ( page, self . counter ) ) ;
380+ self . bind_label_with_page ( page, label ) ;
381381 }
382382
383383 pub fn bind_label_with_page ( & mut self , page : Page , label : DestLabel ) {
@@ -412,6 +412,7 @@ impl JitMemory {
412412 let page = self . page ;
413413 let pos = self . counter ;
414414 let target = TargetType :: Rel { page, offset, pos } ;
415+ self . emitl ( 0 ) ;
415416 if let Some ( ( src_page, src_pos) ) = self . labels [ dest] . loc {
416417 self . write_reloc ( src_page, src_pos, target) ;
417418 } else {
@@ -423,6 +424,7 @@ impl JitMemory {
423424 fn save_absolute_reloc ( & mut self , page : Page , dest : DestLabel ) {
424425 let pos = self [ page] . counter ;
425426 let target = TargetType :: Abs { page, pos } ;
427+ self [ page] . emitq ( 0 ) ;
426428 if let Some ( ( src_page, src_pos) ) = self . labels [ dest] . loc {
427429 self . write_reloc ( src_page, src_pos, target) ;
428430 } else {
@@ -490,7 +492,7 @@ impl JitMemory {
490492 self [ Page ( id) ] . align8 ( ) ;
491493 self . bind_label_with_page ( Page ( id) , const_label) ;
492494 self . save_absolute_reloc ( Page ( id) , label) ;
493- self [ Page ( id) ] . emitq ( 0 ) ;
495+ // self[Page(id)].emitq(0);
494496 }
495497 DataType :: Align8 => {
496498 self [ Page ( id) ] . align8 ( ) ;
@@ -528,7 +530,7 @@ impl JitMemory {
528530 self [ DATA_PAGE ] . align8 ( ) ;
529531 self . bind_label_with_page ( DATA_PAGE , data_label) ;
530532 self . save_absolute_reloc ( DATA_PAGE , label) ;
531- self [ DATA_PAGE ] . emitq ( 0 ) ;
533+ // self[DATA_PAGE].emitq(0);
532534 }
533535 DataType :: Align8 => {
534536 self [ DATA_PAGE ] . align8 ( ) ;
@@ -662,7 +664,7 @@ impl JitMemory {
662664 pub fn enc_d ( & mut self , op : & [ u8 ] , dest : DestLabel ) {
663665 self . emit ( op) ;
664666 self . save_reloc ( dest, 4 ) ;
665- self . emitl ( 0 ) ;
667+ // self.emitl(0);
666668 }
667669
668670 /// Encoding: /n
@@ -883,7 +885,7 @@ impl JitMemory {
883885 Disp :: D32 ( d) => self . emitl ( d as u32 ) ,
884886 Disp :: Label ( label) => {
885887 self . save_reloc ( label, 4 + imm. offset ( ) ) ;
886- self . emitl ( 0 ) ;
888+ // self.emitl(0);
887889 }
888890 Disp :: None => { }
889891 }
0 commit comments