Experimental: Delegating trace_object to a dedicated struct #1278
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
DRAFT: This is very old, and is not intended to be merged directly.
This PR contains a hypothetical change I made for the purpose of killing the
ProcessEdgesWork. The point is, thetrace_objectmethod is at the heart of a trace, the counterpart of theTraceorTraceLocaltype in the old JikesRVM. Each plan should provide a customtrace_objectmethod instead of a customProcessEdgesWorkimplementation.On the contrary, a
ProcessEdgesWorkwork packet simply encapsulates enqueued slots, and should contain methods that (1) load from the slots, (2) calltrace_objectand (3) store the forwarded reference back to the slot. It should not implement thetrace_objectmethod itself.