Some suggested patches and improvements

Michael Nascimento misterm at
Fri May 12 16:49:53 UTC 2017

#1-#3, IMHO, meet the needs of a niche who knows how to work around these
issues using other ways (although inconvenient).

4 and 5 are solutions for problems any developer assembling a medium-large
application will definitely face and therefore are essential in my point of
view since it'd be unreasonable to expect the average developer to master
the black magic of low level module APIs or bytecode manipulation.


On Thu, May 11, 2017 at 9:43 PM, David M. Lloyd <david.lloyd at>

> I've proposed five patches to the jpms-spec-experts list [1..5] for
> discussion.  The patches are as follows:
> 1. Layer primitive: addExports() - mirrors the existing
> Module.addExports() method for ModuleLayer.Controllers
> 2. Layer primitive: addUses() - mirrors the existing Module.addUses()
> method for ModuleLayer.Controllers
> 3. Layer primitive: addPackage() - allows ModuleLayer.Controllers to add
> packages to a module after it has been defined
> 4. Make run-time cycle checking optional
> 5. Add optional class loader isolation for modules on the module path
> Apart from #3, each of these patches is small and very low-risk, and
> address a clear problem.  In the case of #3, I believe that the risk is
> very low, but am also willing to discuss modifying the patch to move the
> method to a "jdk.unsupported" class or in other ways.
> I also am maintaining a mirror of the jigsaw/jake tree as a Git repository
> [6] which contains these patches where they can be viewed and fiddled with
> on a more interactive basis.
> It is my belief that these small, low-cost patches will go a very long way
> towards mitigating many of the problems identified and shared by Red Hat,
> by other EG members, by other EC members, and by the community.
> Please have a look and let me know if you have any feedback on any of
> these changes.
> [1]
> 7-May/000705.html
> [2]
> 7-May/000707.html
> [3]
> 7-May/000708.html
> [4]
> 7-May/000711.html
> [5]
> 7-May/000710.html
> [6]
> --
> - DML

More information about the jigsaw-dev mailing list