Skip to content

Commit c1e6c0c

Browse files
committed
Fix.
1 parent 9361c09 commit c1e6c0c

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

monoasm/src/jit_memory.rs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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,22 +412,24 @@ impl JitMemory {
412412
let page = self.page;
413413
let pos = self.counter;
414414
let target = TargetType::Rel { page, offset, pos };
415-
if let Some((src_page, src_pos)) = self.labels[dest].loc {
416-
self.write_reloc(src_page, src_pos, target);
417-
} else {
418-
self.labels[dest].target.push(target);
419-
}
415+
self.emitl(0);
416+
//if let Some((src_page, src_pos)) = self.labels[dest].loc {
417+
//self.write_reloc(src_page, src_pos, target);
418+
//} else {
419+
self.labels[dest].target.push(target);
420+
//}
420421
}
421422

422423
/// Save relocaton slot for `DestLabel`.
423424
fn save_absolute_reloc(&mut self, page: Page, dest: DestLabel) {
424425
let pos = self[page].counter;
425426
let target = TargetType::Abs { page, pos };
426-
if let Some((src_page, src_pos)) = self.labels[dest].loc {
427-
self.write_reloc(src_page, src_pos, target);
428-
} else {
429-
self.labels[dest].target.push(target);
430-
}
427+
self[page].emitq(0);
428+
//if let Some((src_page, src_pos)) = self.labels[dest].loc {
429+
// self.write_reloc(src_page, src_pos, target);
430+
//} else {
431+
self.labels[dest].target.push(target);
432+
//}
431433
}
432434

433435
fn write_reloc(&mut self, src_page: Page, src_pos: Pos, target: TargetType) {
@@ -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

Comments
 (0)