On 05/12/2017 03:22 AM, Alan Bateman wrote:
On 12/05/2017 01:43, David M. Lloyd wrote:

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
>
#1-#3 are a subset of issue #LayerPrimitives in the JSR. I don't wish to comment on whether these make sense or not.

No problem, I'm just looking for technical feedback here.

However for #3 then you've missed several important error cases, e.g. illegal package names, or the package is already in another module defined to the class loader. There is impact in other areas too.

I can look into these two items; can you expand on the other impacts?

#4 seems to be working around the outcome of issue #CyclicDependences in the JSR. I also don't wish to comment on that except to say that introducing system properties to skip specified checks is highly problematic from a conformance perspective.

Can you explain what you mean by that? I'm more than happy to convert these into -X type arguments to the runtime (or, of course, to simply make this the standard behavior), but I thought this would be a simpler and safer approach (at least for a first pass).

The only other place where I found run time cycles to be relevant is jlink and a couple of other tools, which I am in the process of developing a similar patch for.

There is a lot more to #5, something that will become clear when you work through all the scenarios. The JSR and spec part are minor though but I'd prefer to hold off until there is more discussion on this topic in the JSR.

I'd rather not hold off as the JSR essentially only has a couple of weeks left to live if there is not a revised PR. Could you please explain what you mean? Are you referring to jlink, jaotc, or something else?

--
- DML

Reply via email to