Couple of typos in handle.subx. We didn't notice because a missing /r32
field gets turned into 0/EAX anyway, and because ECX happens to have the
same value as EAX in the specific test caller.

But it's still not running as expected, now that I'm looking closely.
This commit is contained in:
Kartik Agaram 2019-05-22 21:19:21 -07:00
parent 1b6aa10a6b
commit 61480eb76e
2 changed files with 2 additions and 2 deletions

Binary file not shown.

View File

@ -213,9 +213,9 @@ lookup: # h : (handle T) -> EAX : (address T)
8b/copy 1/mod/*+disp8 5/rm32/EBP . . . 0/r32/EAX 8/disp8 . # copy *(EBP+8) to EAX
# - inline {
# push handle->address
ff 6/subop/push 1/mod/*+disp8 1/rm32/ECX . . . . 4/disp8 . # push *(EAX+4)
ff 6/subop/push 1/mod/*+disp8 0/rm32/EAX . . . . 4/disp8 . # push *(EAX+4)
# EAX = handle->alloc_id
8b/copy 0/mod/indirect 0/rm32/EAX . . . . . . # copy *EAX to EAX
8b/copy 0/mod/indirect 0/rm32/EAX . . . 0/r32/EAX . . # copy *EAX to EAX
# if (EAX != *ESP) abort
39/compare 0/mod/indirect 4/rm32/sib 4/base/ESP 4/index/none . 0/r32/EAX . . # compare *ESP and EAX
75/jump-if-not-equal $lookup:abort/disp8