-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Labels
A-generalArea: all code base (issues with this label may be divided into more concrete issues)Area: all code base (issues with this label may be divided into more concrete issues)C-cleanupCategory: CleanupCategory: CleanupP-normalPriority: Normal.Priority: Normal.
Description
At the moment, most of the types has a <VM>
generic type to it, even if the type does not actually use <VM>
(but some of its functions uses it). We should do a cleanup to remove the generic type where possible. These are a few points raised from our discussion:
- If a function in the type uses
<VM>
, we can make the function generic rather than make the type generic. - If possible, only types that are logically used by the VM should have the type parameters, such as
MMTK<VM>
,Mutator<VM>
. Types such asCollector<VM>
,Space<VM>
do not sound logically right. - Types without
<VM>
can be unit tested without mocking. - If a call to
<VM>
is not performance critical, it is possible for us to usedyn VM
rather than generic type. However this requires some possibly API-breaking changes, as currently we never instantiate a VM object (all functions inVMBinding
are static functions).
Metadata
Metadata
Assignees
Labels
A-generalArea: all code base (issues with this label may be divided into more concrete issues)Area: all code base (issues with this label may be divided into more concrete issues)C-cleanupCategory: CleanupCategory: CleanupP-normalPriority: Normal.Priority: Normal.