MMIX LOGO

MMIX Bug Report alloc_slot

Table of Content

Content

MMIXware Version

mmix-20131017

Bug Reported

Initial: 01/11/2016

Author

Laurent Desnogues

Description

In the function alloc_slot in mmix-pipe we have:
  if (c->flusher.next && c->outbuf.tag.h==alf.h &&
        !((c->outbuf.tag.l^alf.l)&c->tagmask)) return NULL;
Given that outbuf is a cache block, I don't see why c->tagmask is used. Shouldn't -c->bb be used as mask?

Proposed Patch

@x
        !((c->outbuf.tag.l^alf.l)&c->tagmask)) return NULL;
@y
        !((c->outbuf.tag.l^alf.l)&-c->bb)) return NULL;
@z

Discussion

Status

Fixed in the repository, Rev. 150, on 2016-7-28.

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email