-
Notifications
You must be signed in to change notification settings - Fork 69
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
Add back DummyVM
as a part of the porting guide. Minor changes to MMTk initialization in the porting guide.
#1142
Conversation
Co-authored-by: Kunal Sareen <kunal.sareen@anu.edu.au>
We shouldn't bury the |
I put it as a part of the porting guide, as I feel it is only relevant for people who start a new binding. I don't think it is important and relevant enough to be at the top level of the project root directory. It was placed in For maintainability, I modified the CI scripts to build and style-check If you do think we should put it as a place that is easier for people to browse to from the root directory, I think we can put it in |
Yes. And we can remove |
The 3 optional checks failed, but they are expected:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are still some occurrences of "edge" in "slots.rs". They need to be renamed.
But in practice, no VM uses so many kinds of slots. I introduced those slots into the old DummyVM in order to test if all those kinds of slots work, and now we have test cases in mock_test_slots.rs
. To make a template for new bindings, we may just set DummyVM::SlotType
to mmtk::vm::slot::SimpleSlot
and remove this slots.rs
. Alteranatively, we may implement a DummyVMSlot
by copying from SimpleSlot
. That should be enough for documentation and demonstration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The methods ref_to_object_start
, ref_to_header
, ref_to_address
and address_to_ref
were previously defined for the convenience of some test cases, too. We can change them to be more instructive.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
`docs/header/mmtk.h` was removed in mmtk#1142 in favor for the header in the DummyVM, but the link was not updated.
`docs/header/mmtk.h` was removed in #1142 in favor for the header in the DummyVM, but the link was not updated.
Following the discussion here: https://mmtk.zulipchat.com/#narrow/stream/315620-Porting/topic/Porting.20MMTK.20to.20Clasp.20Common.20Lisp/near/442123897. It is useful for the language implementers to have a Rust binding crate that implements all the boilerplate code and can compile to start with. This PR adds back
DummyVM
to the porting guide, and includes some minor changes to the porting guide.