A module has both a Java and a C++ representation
C++: ModuleEntry
Java: java.lang.Module
In C++, we have the following two methods
ModuleEntry* InstanceKlass::module()
oop ModuleEntry::module();
This can lead to confusing code like this:
InstanceKlass* ik = ...;
oop module = ik->module()->module()
Proposal:
- Leave InstanceKlass::module() as is -- there's another function with the same style: "PackageEntry* InstanceKlass::package()"
- Rename ModuleEntry::module() to ModuleEntry::module_oop(), so the above example can be more readable:
InstanceKlass* ik = ...;
oop module = ik->module()->module_oop()
C++: ModuleEntry
Java: java.lang.Module
In C++, we have the following two methods
ModuleEntry* InstanceKlass::module()
oop ModuleEntry::module();
This can lead to confusing code like this:
InstanceKlass* ik = ...;
oop module = ik->module()->module()
Proposal:
- Leave InstanceKlass::module() as is -- there's another function with the same style: "PackageEntry* InstanceKlass::package()"
- Rename ModuleEntry::module() to ModuleEntry::module_oop(), so the above example can be more readable:
InstanceKlass* ik = ...;
oop module = ik->module()->module_oop()
- links to
-
Commit(master) openjdk/jdk/66836d40
-
Review(master) openjdk/jdk/26102