Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scanning with in-band headers (docs) #286

Open
gerd-moellmann opened this issue Mar 28, 2024 · 0 comments
Open

Scanning with in-band headers (docs) #286

gerd-moellmann opened this issue Mar 28, 2024 · 0 comments
Assignees
Labels
needs analaysis The issue needs analysis before it can be resolved.

Comments

@gerd-moellmann
Copy link

This is not a software bug, but maybe the documentation could be improved?

I am using an object format with in-band headers. My scan method is therefore called with client pointers. Here is what I wrote as a comment in the scan method, I hope it explains what I mean:

/* Rough edge alert:

   Assume H is the size of the header, and the block to be scanned
   is [B, L). Because we are using in-band headers, this function is
   called with client addresses, i.e. [B+H, L+H)

   Assume further that the last object in the block is [O, L-H),
   or in client pointers [O+H, L).

   The skip method returns client pointers. When skipping over the last
   object, it returns L. So, the scan is over when the skip method
   returns L, not when we reach the client limit passed to this
   function.

   When we erroneously expect a header following the last object,
   there is enough room for one left, we see that there is none.
   MPS doesn't put a padding object there, maybe because the docs
   say that header-only objects are not supported, but that's just a
   guess. */
@thejayps thejayps added the needs analaysis The issue needs analysis before it can be resolved. label Jul 22, 2024
@thejayps thejayps self-assigned this Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs analaysis The issue needs analysis before it can be resolved.
Projects
None yet
Development

No branches or pull requests

2 participants