Re: 8178380: Module system implementation refresh (5/2017 update)

2017-05-03 Thread harold seigel

Hi Alan,

The hotspot changes look good.

Thanks, Harold


On 5/1/2017 4:28 PM, Alan Bateman wrote:
As I mentioned in another thread, we need to get the changes 
accumulated in jake to jdk9/dev.


JDK-8178380 [1] has the summary of the changes that have accumulated 
since the last refresh.


One note on the hotspot repo is that the changes to dynamically 
augment the platform modules run into JDK-8178604 when testing with an 
exploded build. So there is a partial fix for this in jake. Harold has 
the more complete fix in review on hotspot-runtime-dev for JDK 10.


The webrevs with the changes is here:
http://cr.openjdk.java.net/~alanb/8178380/1/

-Alan

[1] https://bugs.openjdk.java.net/browse/JDK-8178380





hg: jigsaw/jake/hotspot: 8177827: Hotspot changes to move java.lang.reflect.{Module, Layer, ...} to java.lang

2017-03-30 Thread harold . seigel
Changeset: 6f3a68d98adb
Author:hseigel
Date:  2017-03-30 09:16 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6f3a68d98adb

8177827: Hotspot changes to move java.lang.reflect.{Module,Layer,...} to 
java.lang
Summary: Make the needed changes to hotspot source and all hotspot tests.
Reviewed-by: alanb

! 
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/ModuleAPI.java
! src/share/vm/classfile/classFileParser.cpp
! src/share/vm/classfile/javaClasses.cpp
! src/share/vm/classfile/javaClasses.hpp
! src/share/vm/classfile/javaClasses.inline.hpp
! src/share/vm/classfile/moduleEntry.cpp
! src/share/vm/classfile/moduleEntry.hpp
! src/share/vm/classfile/modules.cpp
! src/share/vm/classfile/modules.hpp
! src/share/vm/classfile/systemDictionary.hpp
! src/share/vm/classfile/vmSymbols.hpp
! src/share/vm/oops/klass.cpp
! src/share/vm/prims/jvmtiEnv.cpp
! src/share/vm/runtime/reflection.cpp
! src/share/vm/runtime/thread.cpp
! test/compiler/jvmci/common/CTVMUtilities.java
! test/runtime/classFileParserBug/fakeMethodAccessor.jasm
! test/runtime/getSysPackage/GetSysPkgTest.java
! test/runtime/modules/JVMAddModuleExports.java
! test/runtime/modules/ModuleHelper.java
! test/runtime/modules/ModuleStress/src/jdk.test/test/Main.java
! test/runtime/modules/ModuleStress/src/jdk.test/test/MainGC.java
! test/runtime/modules/getModuleJNI/GetModule.java
! test/runtime/modules/java.base/java/lang/ModuleHelper.java
! test/serviceability/jdwp/AllModulesCommandTestDebuggee.java
! 
test/serviceability/jvmti/AddModuleExportsAndOpens/MyPackage/AddModuleExportsAndOpensTest.java
! 
test/serviceability/jvmti/AddModuleExportsAndOpens/libAddModuleExportsAndOpensTest.c
! test/serviceability/jvmti/AddModuleReads/MyPackage/AddModuleReadsTest.java
! test/serviceability/jvmti/AddModuleReads/libAddModuleReadsTest.c
! 
test/serviceability/jvmti/AddModuleUsesAndProvides/MyPackage/AddModuleUsesAndProvidesTest.java
! 
test/serviceability/jvmti/AddModuleUsesAndProvides/libAddModuleUsesAndProvidesTest.c
! test/serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java
! test/serviceability/jvmti/GetModulesInfo/libJvmtiGetAllModulesTest.c
! test/serviceability/jvmti/GetNamedModule/libGetNamedModuleTest.c



hg: jigsaw/jake/hotspot: 8171115: Tests containing module names ending in digits need to change

2017-01-27 Thread harold . seigel
Changeset: e3212cca805b
Author:gtriantafill
Date:  2017-01-27 10:18 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e3212cca805b

8171115: Tests containing module names ending in digits need to change
Reviewed-by: alanb, hseigel

! test/runtime/modules/AccessCheck/CheckRead.java
! test/runtime/modules/AccessCheck/DiffCL_CheckRead.java
! test/runtime/modules/AccessCheck/DiffCL_ExpQualOther.java
! test/runtime/modules/AccessCheck/DiffCL_ExpQualToM1.java
! test/runtime/modules/AccessCheck/DiffCL_ExpUnqual.java
! test/runtime/modules/AccessCheck/DiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/DiffCL_Umod.java
! test/runtime/modules/AccessCheck/DiffCL_UmodUpkg.java
! test/runtime/modules/AccessCheck/ExpQualOther.java
! test/runtime/modules/AccessCheck/ExpQualToM1.java
! test/runtime/modules/AccessCheck/ExpUnqual.java
! test/runtime/modules/AccessCheck/ExportAllUnnamed.java
! test/runtime/modules/AccessCheck/PkgNotExp.java
! test/runtime/modules/AccessCheck/Umod.java
! test/runtime/modules/AccessCheck/UmodDiffCL_ExpQualOther.java
! test/runtime/modules/AccessCheck/UmodDiffCL_ExpUnqual.java
! test/runtime/modules/AccessCheck/UmodDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodUPkg.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_ExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_NotExp.java
! test/runtime/modules/AccessCheck/UmodUpkg_ExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkg_NotExp.java
! test/runtime/modules/AccessCheck/Umod_ExpQualOther.java
! test/runtime/modules/AccessCheck/Umod_ExpUnqual.java
! test/runtime/modules/AccessCheck/Umod_PkgNotExp.java
! test/runtime/modules/AccessCheck/p1/c1Loose.java
! test/runtime/modules/AccessCheck/p1/c1ReadEdge.java
! test/runtime/modules/AccessCheck/p1/c1ReadEdgeDiffLoader.java
! test/runtime/modules/AccessCheck/p3/c3ReadEdge.jcod
! test/runtime/modules/AccessCheck/p3/c3ReadEdgeDiffLoader.jcod
! test/runtime/modules/AccessCheckAllUnnamed.java
! test/runtime/modules/AccessCheckExp.java
! test/runtime/modules/AccessCheckJavaBase.java
! test/runtime/modules/AccessCheckRead.java
! test/runtime/modules/AccessCheckSuper.java
! test/runtime/modules/AccessCheckUnnamed.java
! test/runtime/modules/AccessCheckWorks.java
! test/runtime/modules/CCE_module_msg.java
! test/runtime/modules/ExportTwice.java
! test/runtime/modules/JVMAddModuleExportToAllUnnamed.java
! test/runtime/modules/JVMAddModuleExportsToAll.java
! test/runtime/modules/JVMAddModulePackage.java
! test/runtime/modules/JVMDefineModule.java
! test/runtime/modules/JVMGetModuleByPkgName.java
! test/runtime/modules/ModuleStress/CustomSystemClassLoader.java
! test/runtime/modules/ModuleStress/ModuleNonBuiltinCLMain.java
! test/runtime/modules/ModuleStress/ModuleSameCLMain.java
! test/runtime/modules/ModuleStress/ModuleStress.java
! test/runtime/modules/PatchModule/PatchModuleDupModule.java



Re: RFR: 8171855: Move package name transformations during module bootstrap into native code

2017-01-09 Thread harold seigel

Hi Claes,

The changes look good.

Could you run the RBT hs nightly tests against the Linux-x64 platform 
before pushing this change?


Thanks, Harold


On 1/6/2017 9:35 AM, Claes Redestad wrote:

Hi Harold,

sure, I've updated the patch in-place with this small improvement and
submitted a new set of tests.

/Claes

On 2017-01-06 14:23, harold seigel wrote:

Hi Claes,

One small nit.  In these lines in modules.cpp, the length of
package_name at line 305 could be saved in a local and then strncpy()
could be used at line 306.  Also, the saved length could be used in line
310 instead of strlen(pkg_name).  A similar change would also apply
around line 732.

305 char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char,
strlen(package_name));
306 strcpy(pkg_name, package_name);
307 StringUtils::replace_no_expand(pkg_name, "/", ".");
 308   const char* msg_text1 = "Class loader (instance of): ";
 309   const char* msg_text2 = " tried to define prohibited package
name: ";
310 size_t len = strlen(msg_text1) + strlen(class_loader_name) +
strlen(msg_text2) + strlen(pkg_name) + 1;

Thanks, Harold

On 1/5/2017 9:36 PM, Claes Redestad wrote:

Lois, Mandy,

On 2017-01-05 22:19, Lois Foltan wrote:
>
> On 1/5/2017 11:47 AM, Claes Redestad wrote:
>> Hi,
>>
>> after a round of review comments I've now reworked this to do the
>> transformations in the JNI layer rather than inside the VM, with
>> similar - if not better - results.
>>
>> Webrevs:
>> http://cr.openjdk.java.net/~redestad/8171855/hotspot.03/
>> http://cr.openjdk.java.net/~redestad/8171855/jdk.03/
>>
>> Testing: RBT run in progress, all runtime/modules tests pass locally
>
> Hi Claes,
>
> Thank you for reworking this.  I think it looks good.  A couple of
> comments in hotspot/src/share/vm/classfile/modules.cpp
>
> modules.cpp/Modules::define_module()
>   line #278, I think it is important for the VM to validate the
packages
> and num_packages parameters.
> An IllegalArgumentException should be thrown if:
> - num_packages is not >= 0
> - if packages == NULL, then num_packages should be equal to 0,
>   this will protect against erroneously entering the for loop at
> line #292 based solely on num_packages

Done.

>   line #291 - Ideally, if num_packages is 0, there is no sense in
> allocating pkg_list
>
> Thanks,
> Lois

There's plenty of code which assumes pkg_list is always allocated (even
when num_packages is 0), so if you don't mind I'd like to defer this
cleanup?

There's only a handful of modules that doesn't define any packages, so
I don't think it'll matter that much for startup.

Thinking out loud: I'm more concerned about the fact we're scanning the
growing pkg_list for duplicates on every insertion, which is
effectively quadratic.  It seems we could just as well skip this check
and let the error be caught by the dupl_pkg_index checking later on
(then scan the packages for duplicates in the error handling code to
distinguish error messages).  Would mean we could do away with the
GrowableArray too..

On 2017-01-05 22:24, Mandy Chung wrote:


Happy to know the performance gain is comparable when pushing down
the conversion to internal form in native instead of doing it in the
VM.  This is good work.


Thanks!



src/java.base/share/native/libjava/Module.c
  This can be refactored e.g. adding a new function
GetInternalPackageName that takes a jstring and returns const char*.

  GetStringUTFChars will return a copy of the utf-8 chars. That is an
alternative to malloc, GetStringUTFLength, GetStringLength,
GetStringUTFRegion calls.  Use ReleaseStringUTFChars to free the copy
after use.


GetStringUTFChars returns a const char*, so wouldn't work as
we're mutating.  I'll do as you suggest and refactor some common code
to a new method GetInternalPackageName to reduce the boiler plate,
though.



  Nit: it may be clearer to rename pkgs_len to num_pkgs


Done.



src/share/vm/classfile/modules.cpp
  49 static bool verify_module_name(const char *module_name) {

To be consistent with the convention in this file: const char*


New webrevs:
http://cr.openjdk.java.net/~redestad/8171855/hotspot.04/
http://cr.openjdk.java.net/~redestad/8171855/jdk.04/

In addition to fixing comments I couldn't resist applying the technique
used in Class.c to get rid of some mallocs in places where we can use a
stack allocated char buf[128] instead, which seems to have a tiny, but
measurable effect.

Thanks!

/Claes






hg: jigsaw/jake/hotspot: 8171106: Hotspot test serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java fails to compile

2016-12-13 Thread harold . seigel
Changeset: e0bb4f0c5d84
Author:sspitsyn
Date:  2016-12-13 09:54 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e0bb4f0c5d84

8171106: Hotspot test 
serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java fails to compile
Summary: Fix the test by extending the abstract ModuleReference class
Reviewed-by: hseigel

! test/serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java



hg: jigsaw/jake/hotspot: 8171117: Fix test /runtime/modules/JVMDefineModule.java

2016-12-12 Thread harold . seigel
Changeset: b15027fb1dc2
Author:hseigel
Date:  2016-12-12 15:21 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b15027fb1dc2

8171117: Fix test /runtime/modules/JVMDefineModule.java
Summary: Fix the checks on module names
Reviewed-by: lfoltan

! test/runtime/modules/JVMDefineModule.java



hg: jigsaw/jake/hotspot: 8171001: Remove existing JVM checks on module names because they are no longer valid

2016-12-12 Thread harold . seigel
Changeset: 2ef3dabfa9e1
Author:hseigel
Date:  2016-12-12 08:39 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2ef3dabfa9e1

8171001: Remove existing JVM checks on module names because they are no longer 
valid
Summary: Remove the checks on module names
Reviewed-by: lfoltan

! src/share/vm/classfile/classFileParser.cpp
! src/share/vm/classfile/classFileParser.hpp
! src/share/vm/classfile/modules.cpp
! test/runtime/modules/JVMDefineModule.java



hg: jigsaw/jake/hotspot: 8170542: Quarantine serviceability/jdwp/AllModulesCommandTest.java test

2016-11-30 Thread harold . seigel
Changeset: a96915b95040
Author:gtriantafill
Date:  2016-11-30 15:17 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96915b95040

8170542: Quarantine serviceability/jdwp/AllModulesCommandTest.java test
Summary: Add @ignore
Reviewed-by: hseigel

! test/serviceability/jdwp/AllModulesCommandTest.java



hg: jigsaw/jake/hotspot: 8170397: hotspot gc/stress/gcbasher tests fail in Jake

2016-11-28 Thread harold . seigel
Changeset: 756aeaa66545
Author:hseigel
Date:  2016-11-28 09:30 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/756aeaa66545

8170397: hotspot gc/stress/gcbasher tests fail in Jake
Summary: Don't parse "module-info.class" files
Reviewed-by: alanb

! test/gc/stress/gcbasher/TestGCBasher.java



hg: jigsaw/jake/nashorn: 8169920: Fix Nashorn JTReg Jake test failures

2016-11-17 Thread harold . seigel
Changeset: 51851824d373
Author:hseigel
Date:  2016-11-17 16:12 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/51851824d373

8169920: Fix Nashorn JTReg Jake test failures
Summary: add needed :open to @modules
Reviewed-by: alanb

! test/src/jdk/nashorn/internal/runtime/doubleconv/test/BignumTest.java
! test/src/jdk/nashorn/internal/runtime/doubleconv/test/DiyFpTest.java



hg: jigsaw/jake/hotspot: 8169328: Change hotspot tests to use new --add-opens options

2016-11-16 Thread harold . seigel
Changeset: 60ab9a59cfb9
Author:hseigel
Date:  2016-11-16 13:05 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/60ab9a59cfb9

8169328: Change hotspot tests to use new --add-opens options
Summary: Restore previous change that removed --add-exports-private support
Reviewed-by: lfoltan

! src/share/vm/runtime/arguments.cpp



hg: jigsaw/jake/hotspot: 8168090: Many JTreg hotspot tests fail in Jake

2016-10-20 Thread harold . seigel
Changeset: 4b9423f5466c
Author:hseigel
Date:  2016-10-20 12:51 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4b9423f5466c

8168090: Many JTreg hotspot tests fail in Jake
Summary: add needed --add-exports-private options to get tests to pass
Reviewed-by: gtriantafill

! test/runtime/LocalLong/LocalLongTest.java



hg: jigsaw/jake/hotspot: 8168090: Many JTreg hotspot tests fail in Jake

2016-10-19 Thread harold . seigel
Changeset: 6514277096ac
Author:gtriantafill
Date:  2016-10-19 17:29 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6514277096ac

8168090: Many JTreg hotspot tests fail in Jake
Summary: add needed @modules ...:private and other changes to get tests to pass
Reviewed-by: hseigel

! test/runtime/Throwable/StackTraceLogging.java
! test/runtime/Throwable/TestThrowable.java
! test/runtime/Throwable/ThrowableIntrospectionSegfault.java
! test/runtime/getSysPackage/GetSysPkgTest.java
! test/serviceability/attach/AttachWithStalePidFile.java
! test/serviceability/jvmti/GetModulesInfo/JvmtiGetAllModulesTest.java



hg: jigsaw/jake/hotspot: 8168090: Many JTreg hotspot tests fail in Jake

2016-10-19 Thread harold . seigel
Changeset: a18c27ca7812
Author:gtriantafill
Date:  2016-10-19 15:33 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a18c27ca7812

8168090: Many JTreg hotspot tests fail in Jake
Summary: add needed @modules ...:private
Reviewed-by: hseigel

! test/compiler/c2/Test7190310_unsafe.java
! test/compiler/codegen/Test8011901.java
! test/compiler/escapeAnalysis/TestUnsafePutAddressNullObjMustNotEscape.java
! test/compiler/intrinsics/bigInteger/MontgomeryMultiplyTest.java
! test/compiler/intrinsics/unsafe/AllocateUninitializedArray.java
! test/compiler/intrinsics/unsafe/TestUnsafeUnalignedMismatchedAccesses.java
! test/compiler/intrinsics/unsafe/UnsafeGetAddressTest.java
! test/compiler/intrinsics/unsafe/UnsafeTwoCASLong.java
! test/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java
! test/compiler/jvmci/compilerToVM/GetSymbolTest.java
! test/compiler/jvmci/compilerToVM/JVM_RegisterJVMCINatives.java
! 
test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/MethodHandleAccessProviderTest.java
! test/compiler/rangechecks/TestExplicitRangeChecks.java
! test/compiler/runtime/Test8010927.java
! test/compiler/unsafe/GetUnsafeObjectG1PreBarrier.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestBoolean.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestByte.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestChar.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestDouble.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestFloat.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestInt.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestLong.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestObject.java
! test/compiler/unsafe/JdkInternalMiscUnsafeAccessTestShort.java
! test/compiler/unsafe/JdkInternalMiscUnsafeUnalignedAccess.java
! test/compiler/unsafe/TestUnsafeLoadControl.java



hg: jigsaw/jake/hotspot: 8167487: Remove unused module related JVM API's

2016-10-13 Thread harold . seigel
Changeset: 3b0fd4bfd0a4
Author:hseigel
Date:  2016-10-13 13:03 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3b0fd4bfd0a4

8167487: Remove unused module related JVM API's
Summary: Remove JVM_CanReadModule() and JVM_IsExportedToModule()and the 
functions that only they call.
Reviewed-by: lfoltan

! make/symbols/symbols-unix
! src/share/vm/classfile/modules.cpp
! src/share/vm/classfile/modules.hpp
! src/share/vm/prims/jvm.cpp
! src/share/vm/prims/jvm.h
! src/share/vm/prims/whitebox.cpp
- test/runtime/modules/JVMCanReadModule.java
- test/runtime/modules/JVMIsExportedToModule.java
! test/runtime/modules/ModuleHelper.java



hg: jigsaw/jake: 8167487: Remove unused module related JVM API's

2016-10-13 Thread harold . seigel
Changeset: 77577e358ec2
Author:hseigel
Date:  2016-10-13 13:02 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/rev/77577e358ec2

8167487: Remove unused module related JVM API's
Summary: Remove JVM_CanReadModule() and JVM_IsExportedToModule()and the 
functions that only they call.
Reviewed-by: lfoltan

! test/lib/sun/hotspot/WhiteBox.java



Re: Module name check is too restrictive

2016-08-29 Thread harold seigel

Hi Remi,

Thanks for pointing this out.  We have entered bug 
https://bugs.openjdk.java.net/browse/JDK-8164969 for this issue.


Harold


On 8/28/2016 3:31 PM, Remi Forax wrote:

While testing ASM,
i've found that you can not currently load a module that has a '+' in its name.

/usr/jdk/jdk-9-jigsaw/bin/java --module-path tmp --module "foo+bar"
Error occurred during initialization of VM
java.lang.module.ResolutionException: Error reading module: tmp/foo
at 
java.lang.module.Resolver.findWithBeforeFinder(java.base@9-ea/Resolver.java:735)
at 
java.lang.module.Resolver.resolveRequires(java.base@9-ea/Resolver.java:86)
at 
java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
at 
java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2081)
at 
jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
at java.lang.System.initPhase2(java.base@9-ea/System.java:1927)
Caused by: java.lang.module.InvalidModuleDescriptorException: foo+bar: Invalid 
module name:  Illegal character at index 3
at 
java.lang.module.ModuleInfo.invalidModuleDescriptor(java.base@9-ea/ModuleInfo.java:804)
at java.lang.module.ModuleInfo.read(java.base@9-ea/ModuleInfo.java:92)
at 
java.lang.module.ModuleDescriptor.read(java.base@9-ea/ModuleDescriptor.java:1902)
at 
java.lang.module.ModulePath.readExplodedModule(java.base@9-ea/ModulePath.java:591)
at 
java.lang.module.ModulePath.readModule(java.base@9-ea/ModulePath.java:268)
at 
java.lang.module.ModulePath.scanDirectory(java.base@9-ea/ModulePath.java:234)
at java.lang.module.ModulePath.scan(java.base@9-ea/ModulePath.java:188)
at 
java.lang.module.ModulePath.scanNextEntry(java.base@9-ea/ModulePath.java:145)
at java.lang.module.ModulePath.find(java.base@9-ea/ModulePath.java:109)
at 
java.lang.module.ModuleFinder$2.lambda$find$0(java.base@9-ea/ModuleFinder.java:359)
at 
java.util.stream.ReferencePipeline$3$1.accept(java.base@9-ea/ReferencePipeline.java:195)
at 
java.util.Spliterators$ArraySpliterator.tryAdvance(java.base@9-ea/Spliterators.java:958)
at 
java.util.stream.ReferencePipeline.forEachWithCancel(java.base@9-ea/ReferencePipeline.java:127)
at 
java.util.stream.AbstractPipeline.copyIntoWithCancel(java.base@9-ea/AbstractPipeline.java:502)
at 
java.util.stream.AbstractPipeline.copyInto(java.base@9-ea/AbstractPipeline.java:488)
at 
java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@9-ea/AbstractPipeline.java:474)
at 
java.util.stream.FindOps$FindOp.evaluateSequential(java.base@9-ea/FindOps.java:152)
at 
java.util.stream.AbstractPipeline.evaluate(java.base@9-ea/AbstractPipeline.java:234)
at 
java.util.stream.ReferencePipeline.findFirst(java.base@9-ea/ReferencePipeline.java:476)
at 
java.lang.module.ModuleFinder$2.find(java.base@9-ea/ModuleFinder.java:361)
at 
java.lang.module.Resolver.findWithBeforeFinder(java.base@9-ea/Resolver.java:732)
at 
java.lang.module.Resolver.resolveRequires(java.base@9-ea/Resolver.java:86)
at 
java.lang.module.Configuration.resolveRequiresAndUses(java.base@9-ea/Configuration.java:370)
at 
java.lang.module.ModuleDescriptor$1.resolveRequiresAndUses(java.base@9-ea/ModuleDescriptor.java:2081)
at 
jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:263)
at java.lang.System.initPhase2(java.base@9-ea/System.java:1927)

According to the spec [1] section 2.1, the module name is a name in its 
internal form (JVMS 4.2.1)
so it's a sequence of unicode characters (beside '.', ';', '[' and '/') 
separated by '/'.
So '+' is a valid character.

The code that checks the name of a module is in 
jdk.internal.module.Checks::requireModuleName and it checks that the name is a 
valid Java identifier which is obviously wrong.
The module name of a module-info.java is a java identifier because it is parsed 
by javac but a module name in a module-info.class is encoded a binary name to 
not add restrictions to module names defined by other languages than Java.

There is also a pending spec issue [2] to make a module name a unicode sequence 
of any characters and not a binary name removing the restriction around the 
characters ('.', ';', '[').
For '/', it's a little different because if a module name allows '/', the 
encoding of the option '--module' of the java executable becomes ambiguous.

regards,
Rémi

[1] http://cr.openjdk.java.net/~mr/jigsaw/spec/lang-vm.html
[2] http://openjdk.java.net/projects/jigsaw/spec/issues/#ClassFileModuleName




hg: jigsaw/jake/hotspot: 8136930: Simplify use of module-system options by custom launchers

2016-08-10 Thread harold . seigel
Changeset: 9be91950b6af
Author:hseigel
Date:  2016-08-10 12:50 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/9be91950b6af

8136930: Simplify use of module-system options by custom launchers
Summary: Change to use gnu style options and ignore certain properties
Reviewed-by: coleenp, lfoltan

! src/share/vm/prims/jvmtiEnv.cpp
! src/share/vm/runtime/arguments.cpp
! src/share/vm/runtime/arguments.hpp
! src/share/vm/utilities/ostream.cpp
! test/compiler/unsafe/UnsafeGetConstantField.java
! test/runtime/ErrorHandling/ProblematicFrameTest.java
+ test/runtime/modules/ModuleOptionsWarn.java
! test/runtime/modules/ModuleStress/ExportModuleStressTest.java
! test/runtime/modules/ModuleStress/ModuleStressGC.java



Re: RFR(L) 8136930: Simplify use of module-system options by custom launchers

2016-08-04 Thread harold seigel

Hi,

Please review this update for this fix.  This webrev only shows the 
changes since the last webrev.  These changes include:


1. Fix forJDK-8162415
   <https://bugs.openjdk.java.net/browse/JDK-8162415> - the JVM now
   prints the following message when ignoring a property and
   PrintWarnings is enabled:
   warning: Ignoring system property options whose names start with
   '-Djdk.module'.  They are reserved for internal use.

2. Fix for JDK-8162412
   <https://bugs.openjdk.java.net/browse/JDK-8162412>
3. Fixes a problem where JVMTI was failing two JCK vm/jvmti tests

4. Incorporates review comments from Alan, Coleen, Dan, and Lois
5. Fixes JTReg tests that failed due to the new option syntax.

Revised webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs2/

Thanks, Harold

On 8/2/2016 9:25 AM, harold seigel wrote:


Hi Lois,

Thanks for the review.  Please see comments in-line.

Harold


On 8/1/2016 8:40 PM, Lois Foltan wrote:


On 7/17/2016 7:05 PM, harold seigel wrote:

Hi,

Please review these Hotspot VM only changes to process the seven 
module-specific options that have been renamed to have gnu-like 
names.  JDK changes for this bug will be reviewed separately.


Descriptions of these options are here 
<http://openjdk.java.net/jeps/293>. For these six options, 
--module-path, --upgrade-module-path, --add-modules, 
--limit-modules, --add-reads, and --add-exports, the JVM just sets a 
system property.  For the --patch-module option, the JVM sets a 
system property and then processes the option in the same way as 
when it was named -Xpatch.


Additionally, the JVM now checks properties specified on the command 
line.  If a property matches one of the properties used by one of 
the above options then the JVM ignores the property.  This forces 
users to use the explicit option when wanting to do things like add 
a module or a package export.


The RFR contains two new tests.  Also, many existing tests were 
changed to use the new option names.


JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8136930

Webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs/


Hi Harold,

Overall looks good.  A couple of comments:

src/share/vm/prims/jvmtiEnv.cpp
- line #3428 - The if statement is incorrect.  There are internal 
properties, like jdk.boot.class.path.append, whose value if non-null 
should be returned.
This code will be reworked in the next version of these changes 
because of multiple issues.


src/share/vm/runtime/arguments.cpp
- Arguments::append_to_addmods_property was added before the VM 
starting to process --add-modules.  So with this fix, it seems like 
it could be simply changed to:


bool Arguments::append_to_addmods_property(const char* module_name) {
  PropertyList_unique_add(&_system_properties,
Arguments::get_property("jdk.module.addmods"),
   module_name,
AppendProperty, UnwriteableProperty, InternalProperty);
}

Please consider making this change since currently it contains a lot 
of duplicated code that is now unnecessary.
The one difference is that append_to_addmods_property() returns a 
status but PropertyList_unique_add() does not.  I'll look into this a 
bit further.


- line #3171, should the comment be "--add-modules=java.sql" instead 
of "--add-modules java.sql"?

yes.

The changes suggested by you, Coleen, and Dan will be in the next 
version of this webrev.


Thanks, Harold


Thanks,
Lois















The changes were tested with the JCK lang and VM tests, the JTreg 
hotspot tests, and the RBT hotspot nightlies.


Thanks, Harold








Re: RFR(L) 8136930: Simplify use of module-system options by custom launchers

2016-08-02 Thread harold seigel

Hi Lois,

Thanks for the review.  Please see comments in-line.

Harold


On 8/1/2016 8:40 PM, Lois Foltan wrote:


On 7/17/2016 7:05 PM, harold seigel wrote:

Hi,

Please review these Hotspot VM only changes to process the seven 
module-specific options that have been renamed to have gnu-like 
names.  JDK changes for this bug will be reviewed separately.


Descriptions of these options are here 
<http://openjdk.java.net/jeps/293>. For these six options, 
--module-path, --upgrade-module-path, --add-modules, --limit-modules, 
--add-reads, and --add-exports, the JVM just sets a system property.  
For the --patch-module option, the JVM sets a system property and 
then processes the option in the same way as when it was named -Xpatch.


Additionally, the JVM now checks properties specified on the command 
line.  If a property matches one of the properties used by one of the 
above options then the JVM ignores the property. This forces users to 
use the explicit option when wanting to do things like add a module 
or a package export.


The RFR contains two new tests.  Also, many existing tests were 
changed to use the new option names.


JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8136930

Webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs/


Hi Harold,

Overall looks good.  A couple of comments:

src/share/vm/prims/jvmtiEnv.cpp
- line #3428 - The if statement is incorrect.  There are internal 
properties, like jdk.boot.class.path.append, whose value if non-null 
should be returned.
This code will be reworked in the next version of these changes because 
of multiple issues.


src/share/vm/runtime/arguments.cpp
- Arguments::append_to_addmods_property was added before the VM 
starting to process --add-modules.  So with this fix, it seems like it 
could be simply changed to:


bool Arguments::append_to_addmods_property(const char* module_name) {
  PropertyList_unique_add(&_system_properties,
Arguments::get_property("jdk.module.addmods"),
   module_name,
AppendProperty, UnwriteableProperty, InternalProperty);
}

Please consider making this change since currently it contains a lot 
of duplicated code that is now unnecessary.
The one difference is that append_to_addmods_property() returns a status 
but PropertyList_unique_add() does not.  I'll look into this a bit further.


- line #3171, should the comment be "--add-modules=java.sql" instead 
of "--add-modules java.sql"?

yes.

The changes suggested by you, Coleen, and Dan will be in the next 
version of this webrev.


Thanks, Harold


Thanks,
Lois















The changes were tested with the JCK lang and VM tests, the JTreg 
hotspot tests, and the RBT hotspot nightlies.


Thanks, Harold






hg: jigsaw/jake/hotspot: 8159144: Remove JNI functions AddModuleReads/CanReadModule

2016-07-21 Thread harold . seigel
Changeset: c34e09c3e5a5
Author:hseigel
Date:  2016-07-21 13:49 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c34e09c3e5a5

8159144: Remove JNI functions AddModuleReads/CanReadModule
Summary: Delete the functions from the docs and code and update tests that used 
them
Reviewed-by: alanb, sspitsyn, gtriantafill

! src/share/vm/prims/jni.cpp
! src/share/vm/prims/jni.h
! src/share/vm/prims/jniCheck.cpp
! test/runtime/modules/getModuleJNI/GetModule.java
! test/runtime/modules/getModuleJNI/libGetModule.c



hg: jigsaw/jake/jdk: 8159144: Remove JNI functions AddModuleReads/CanReadModule

2016-07-21 Thread harold . seigel
Changeset: ba1572662972
Author:hseigel
Date:  2016-07-21 13:46 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/ba1572662972

8159144: Remove JNI functions AddModuleReads/CanReadModule
Summary: Delete the functions from the docs and code and update tests that used 
them
Reviewed-by: alanb, sspitsyn, gtriantafill

! src/java.base/share/native/include/jni.h



Re: RFR(L) 8136930: Simplify use of module-system options by custom launchers

2016-07-20 Thread harold seigel

Hi Dan,

This was discussed today and it was decided the the JVM will issue 
warnings if these specific properties are specified on the command line, 
provided that option PrintWarnings is TRUE.  This will probably be done 
as a separate bug.


Thanks, Harold


On 7/20/2016 3:42 PM, Daniel D. Daugherty wrote:

On 7/17/16 5:05 PM, harold seigel wrote:

Hi,

Please review these Hotspot VM only changes to process the seven 
module-specific options that have been renamed to have gnu-like 
names.  JDK changes for this bug will be reviewed separately.


Descriptions of these options are here 
<http://openjdk.java.net/jeps/293>.  For these six options, 
--module-path, --upgrade-module-path, --add-modules, --limit-modules, 
--add-reads, and --add-exports, the JVM just sets a system property.  
For the --patch-module option, the JVM sets a system property and 
then processes the option in the same way as when it was named -Xpatch.


Additionally, the JVM now checks properties specified on the command 
line.  If a property matches one of the properties used by one of the 
above options then the JVM ignores the property. This forces users to 
use the explicit option when wanting to do things like add a module 
or a package export.


Based on conversations with Harold, the JVM will _silently_ ignore the
specific properties if they are specified on the command line. Silently
ignoring the properties will likely lead to bugs being filed even if we
put a line or two in a man page somewhere. It seems useful for us to
issue a warning or an error if the user tries to specify properties on
the command line that we don't want to be specified.

I poked around the bugs and I don't see a rationale for the silently
ignore behavior. Can someone please explain?

Dan




The RFR contains two new tests.  Also, many existing tests were 
changed to use the new option names.


JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8136930

Webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs/

The changes were tested with the JCK lang and VM tests, the JTreg 
hotspot tests, and the RBT hotspot nightlies.


Thanks, Harold






Re: RFR(L) 8136930: Simplify use of module-system options by custom launchers

2016-07-18 Thread harold seigel

Hi Alan,

The JVM does not look for the -m (or --module) option.  Instead, it 
checks if property  "jdk.module.main" is non-null.  If it is non-null 
then the JVM uses the option name in its "Cannot use the following 
option when dumping the shared archive" message, as in:


> $JAVA_TEST/bin/java -Xshare:dump -m my_mod
Error occurred during initialization of VM
Cannot use the following option when dumping the shared archive: -m

Unfortunately, it prints "-m" regardless of whether -m or --module was 
specified.


Harold


On 7/18/2016 3:13 AM, Alan Bateman wrote:

On 18/07/2016 00:05, harold seigel wrote:


Hi,

Please review these Hotspot VM only changes to process the seven 
module-specific options that have been renamed to have gnu-like 
names.  JDK changes for this bug will be reviewed separately.


Descriptions of these options are here 
<http://openjdk.java.net/jeps/293>.  For these six options, 
--module-path, --upgrade-module-path, --add-modules, --limit-modules, 
--add-reads, and --add-exports, the JVM just sets a system property.  
For the --patch-module option, the JVM sets a system property and 
then processes the option in the same way as when it was named -Xpatch.


Additionally, the JVM now checks properties specified on the command 
line.  If a property matches one of the properties used by one of the 
above options then the JVM ignores the property. This forces users to 
use the explicit option when wanting to do things like add a module 
or a package export.


The RFR contains two new tests.  Also, many existing tests were 
changed to use the new option names.


JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8136930

Webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs/
A passing comment on unsupported_options (options not allowed when 
using -Xshare:dump) then it has -m in the list. I assume that should 
not be there. That is java launcher option, the VM don't see or 
unrecognize it, also it's long form is --module.


-Alan




RFR(L) 8136930: Simplify use of module-system options by custom launchers

2016-07-17 Thread harold seigel

Hi,

Please review these Hotspot VM only changes to process the seven 
module-specific options that have been renamed to have gnu-like names.  
JDK changes for this bug will be reviewed separately.


Descriptions of these options are here 
.  For these six options, 
--module-path, --upgrade-module-path, --add-modules, --limit-modules, 
--add-reads, and --add-exports, the JVM just sets a system property.  
For the --patch-module option, the JVM sets a system property and then 
processes the option in the same way as when it was named -Xpatch.


Additionally, the JVM now checks properties specified on the command 
line.  If a property matches one of the properties used by one of the 
above options then the JVM ignores the property.  This forces users to 
use the explicit option when wanting to do things like add a module or a 
package export.


The RFR contains two new tests.  Also, many existing tests were changed 
to use the new option names.


JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8136930

Webrev: http://cr.openjdk.java.net/~hseigel/bug_8136930.hs/

The changes were tested with the JCK lang and VM tests, the JTreg 
hotspot tests, and the RBT hotspot nightlies.


Thanks, Harold


Re: Review Request JDK-8136930 Examine implications for custom launchers, equivalent of java -X options in particular

2016-06-08 Thread harold seigel

Hi Mandy,

Yes, I can make that change.  Thanks for pointing it out.

Harold

On 6/8/2016 12:35 PM, Mandy Chung wrote:

Updated webrev with Harold’s latest VM change incorporating the review comments:
   http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/webrev.01/index.html

Harold - the revised VM change looks okay to me.

Minor one: you define the following:
  202 #define MODULE_PATH_PROPERTY "-Djdk.module.path”
  204 #define MODULE_UPGRADE_PATH_PROPERTY "-Djdk.module.upgrade.path"

It may be good to consider having #define for all module property names and 
used consistently.

Mandy


On Jun 3, 2016, at 11:47 PM, Mandy Chung  wrote:

Webrev:
  http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/webrev.00/

-modulepath, -addmods, -limitmods, -XaddExports, -XaddReads, -Xpatch are java 
launcher options in the current implementation.  Custom launchers will have to 
use -D to set some system properties to configure module system.  Different 
ways to configure module system is confusing and not friendly for environments 
using both java launcher and custom launchers.

This patch pushes the handling of the module options into the VM.  That will 
avoid the confusion between launcher and VM options and avoids needing to use 
system properties.  All launcher implementations can configure the module 
system via JNI Invocation API setting these options in a unified way.  The 
options and syntax remain the same as specified in JEP 261.

For the non-repeating options, like the other VM options, the last one wins.  
The current implementation communicates the options to the module system 
through system properties, as a private interface, and these system properties 
will be removed once they are read during the module system initialization.  
These system properties are reserved as private interface and they will be 
ignored if they are set via -D in the command line. Harold implements the 
hotspot change and can explain further details.

This patch will impact existing tests and scripts that set the system properties for 
example to break encapsulation in the command line e.g. 
-Djdk.launcher.addexports..  They will need to be updated to replace the use 
of -D with the appropriate module option e.g. -XaddExports.  Since they are new 
options in JDK 9, use -XX:+IgnoreUnrecognizedVMOptions if they need to be ignored by 
earlier releases.

Mandy






hg: jigsaw/jake/hotspot: Fix compiler test failures by adding /othervm and fix expected output for test XpatchTraceCL.java

2016-04-29 Thread harold . seigel
Changeset: a83304df7b56
Author:hseigel
Date:  2016-04-29 10:56 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a83304df7b56

Fix compiler test failures by adding /othervm and fix expected output for test 
XpatchTraceCL.java

! test/compiler/intrinsics/bmi/verifycode/AndnTestI.java
! test/compiler/intrinsics/bmi/verifycode/AndnTestL.java
! test/compiler/stable/TestStableBoolean.java
! test/compiler/stable/TestStableByte.java
! test/compiler/stable/TestStableChar.java
! test/compiler/stable/TestStableDouble.java
! test/compiler/stable/TestStableFloat.java
! test/compiler/stable/TestStableInt.java
! test/compiler/stable/TestStableLong.java
! test/compiler/stable/TestStableMemoryBarrier.java
! test/compiler/stable/TestStableObject.java
! test/compiler/stable/TestStableShort.java
! test/compiler/stable/TestStableUByte.java
! test/compiler/stable/TestStableUShort.java
! test/runtime/modules/Xpatch/XpatchTraceCL.java



hg: jigsaw/jake/hotspot: Look for class jdk.nio.zipfs.ZipPath" because class "javax.activation.DataHandler" is no longer observable.

2016-04-08 Thread harold . seigel
Changeset: 46491264f585
Author:hseigel
Date:  2016-04-08 15:37 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/46491264f585

Look for class jdk.nio.zipfs.ZipPath" because class 
"javax.activation.DataHandler" is no longer observable.

! test/runtime/getSysPackage/GetSysPkgTest.java



hg: jigsaw/jake/hotspot: Fix JVMTI Jake test failures

2016-03-19 Thread harold . seigel
Changeset: ed6046fc103f
Author:sspitsyn
Date:  2016-03-16 16:41 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ed6046fc103f

Fix JVMTI Jake test failures

! src/share/vm/prims/jvmtiEnvBase.hpp
! src/share/vm/prims/jvmtiEventController.cpp



hg: jigsaw/jake/hotspot: Fix failing jvmci/compilerToVM tests.

2016-03-15 Thread harold . seigel
Changeset: 474012546f4d
Author:hseigel
Date:  2016-03-15 15:15 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/474012546f4d

Fix failing jvmci/compilerToVM tests.

! test/compiler/jvmci/compilerToVM/LookupKlassInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupKlassRefIndexInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupMethodInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupNameAndTypeRefIndexInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupNameInPoolTest.java
! test/compiler/jvmci/compilerToVM/LookupSignatureInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveConstantInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveFieldInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolvePossiblyCachedConstantInPoolTest.java
! test/compiler/jvmci/compilerToVM/ResolveTypeInPoolTest.java



hg: jigsaw/jake/hotspot: Fix open build problem.

2016-03-15 Thread harold . seigel
Changeset: 23944543f258
Author:hseigel
Date:  2016-03-15 11:37 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/23944543f258

Fix open build problem.

! src/share/vm/trace/traceBackend.cpp



hg: jigsaw/jake/hotspot: Partial fix for open build issue.

2016-03-15 Thread harold . seigel
Changeset: 13a7333a92ab
Author:hseigel
Date:  2016-03-15 10:03 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/13a7333a92ab

Partial fix for open build issue.

! src/share/vm/trace/traceTypes.xsl



hg: jigsaw/jake/jdk: Rename args to match names in JVM. Part of fix for JDK-8151816.

2016-03-15 Thread harold . seigel
Changeset: 1e6e0c32f51e
Author:hseigel
Date:  2016-03-15 08:45 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/1e6e0c32f51e

Rename args to match names in JVM.  Part of fix for JDK-8151816.

! src/java.base/share/native/include/jni.h



hg: jigsaw/jake/hotspot: Update JNI AddModuleReads() and CanReadModule() to disallow NULL (JDK-8151816) and fix test failures (JDK-8151817)

2016-03-15 Thread harold . seigel
Changeset: 07df4997bf44
Author:hseigel
Date:  2016-03-15 08:41 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/07df4997bf44

Update JNI AddModuleReads() and CanReadModule() to disallow NULL (JDK-8151816) 
and fix test failures (JDK-8151817)

! src/share/vm/prims/jni.cpp
! src/share/vm/prims/jni.h
! test/runtime/modules/AccessCheck/DiffCL_UmodUpkg.java
! test/runtime/modules/AccessCheck/UmodUPkg.java
! test/runtime/modules/AccessCheck/myloaders/MyDiffClassLoader.java
! test/runtime/modules/AccessCheck/myloaders/MySameClassLoader.java
- test/runtime/modules/AccessCheck/p3/c3Loose.jcod
! test/runtime/modules/getModuleJNI/GetModule.java



hg: jigsaw/jake/jdk: Use String.isEmpty() instead of checking for "".

2016-03-10 Thread harold . seigel
Changeset: 0a46b03f327c
Author:hseigel
Date:  2016-03-10 08:19 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/0a46b03f327c

Use String.isEmpty() instead of checking for "".

! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java



hg: jigsaw/jake/jdk: Check for package names of "" to prevent anonymous class names that start with '/'.

2016-03-09 Thread harold . seigel
Changeset: d7102ae141b1
Author:hseigel
Date:  2016-03-09 15:55 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d7102ae141b1

Check for package names of "" to prevent anonymous class names that start with 
'/'.
Reviewed by: alanb, shade

! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java



hg: jigsaw/jake/hotspot: Add #include from JDK-9 to fix open build

2016-03-08 Thread harold . seigel
Changeset: 1ae14b475915
Author:hseigel
Date:  2016-03-08 15:34 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1ae14b475915

Add #include from JDK-9 to fix open build

! src/share/vm/trace/traceTypes.xsl



hg: jigsaw/jake/hotspot: Remove unused _module_offset

2016-03-08 Thread harold . seigel
Changeset: fc6d7220f074
Author:hseigel
Date:  2016-03-08 12:52 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/fc6d7220f074

Remove unused _module_offset

! src/share/vm/runtime/vmStructs.cpp



hg: jigsaw/jake/jdk: Ann JVM_GetModuleByPackageName() API

2016-02-24 Thread harold . seigel
Changeset: 5dcb0955ed4d
Author:hseigel
Date:  2016-02-24 11:29 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/5dcb0955ed4d

Ann JVM_GetModuleByPackageName() API

! src/java.base/share/native/include/jvm.h



hg: jigsaw/jake/hotspot: Add JVM_GetModuleByPackageName() API

2016-02-24 Thread harold . seigel
Changeset: ae94709b181e
Author:hseigel
Date:  2016-02-24 11:15 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ae94709b181e

Add JVM_GetModuleByPackageName() API

! make/share/makefiles/mapfile-vers
! src/share/vm/classfile/modules.cpp
! src/share/vm/classfile/modules.hpp
! src/share/vm/prims/jvm.cpp
! src/share/vm/prims/jvm.h
! src/share/vm/prims/whitebox.cpp
+ test/runtime/modules/JVMGetModuleByPkgName.java
! test/runtime/modules/ModuleHelper.java



hg: jigsaw/jake/jdk: Add JNI_AddModuleReads() and JNICanReadModule() entry points

2016-02-22 Thread harold . seigel
Changeset: 85dcecc06a9c
Author:hseigel
Date:  2016-02-22 11:33 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/85dcecc06a9c

Add JNI_AddModuleReads() and JNICanReadModule() entry points

! src/java.base/share/native/include/jni.h



hg: jigsaw/jake/hotspot: 8150114: SystemDictionary::load_shared_class() uses '0' as the class path index when adding system package

2016-02-18 Thread harold . seigel
Changeset: 8c4603cf805f
Author:jiangli
Date:  2016-02-17 21:08 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8c4603cf805f

8150114: SystemDictionary::load_shared_class() uses '0' as the class path index 
when adding system package
Summary: Need to use the classpath index associated with the shared class.
Reviewed-by: acorn, mchung

! src/share/vm/classfile/systemDictionary.cpp
! src/share/vm/classfile/systemDictionary.hpp
! src/share/vm/classfile/vmSymbols.hpp



hg: jigsaw/jake/hotspot: Fix for 8134950 jvmti HookTest segv

2016-02-18 Thread harold . seigel
Changeset: 93e7eea3ca0f
Author:sspitsyn
Date:  2016-02-18 08:36 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/93e7eea3ca0f

Fix for 8134950 jvmti HookTest segv

! src/share/vm/classfile/classFileParser.cpp
! src/share/vm/classfile/moduleEntry.hpp
! src/share/vm/prims/jvmtiExport.cpp



hg: jigsaw/jake/hotspot: Call add_package() for classes loaded from the CDS archive so that GetSysPkg() can find them.

2016-02-11 Thread harold . seigel
Changeset: 6908003e49f2
Author:hseigel
Date:  2016-02-11 14:56 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6908003e49f2

Call add_package() for classes loaded from the CDS archive so that GetSysPkg() 
can find them.

! src/share/vm/classfile/classLoader.hpp
! src/share/vm/classfile/systemDictionary.cpp



hg: jigsaw/jake/hotspot: Changes from code review comments.

2016-02-09 Thread harold . seigel
Changeset: 86ba68caae6c
Author:hseigel
Date:  2016-02-09 15:46 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/86ba68caae6c

Changes from code review comments.

! src/share/vm/classfile/classLoader.cpp
! src/share/vm/classfile/classLoader.hpp
! src/share/vm/classfile/moduleEntry.cpp
! src/share/vm/classfile/moduleEntry.hpp
! src/share/vm/classfile/modules.cpp
! src/share/vm/classfile/packageEntry.cpp
! src/share/vm/classfile/packageEntry.hpp
! src/share/vm/runtime/mutexLocker.cpp
! src/share/vm/runtime/reflection.cpp
! test/runtime/modules/ExportTwice.java
! test/runtime/modules/JVMAddModuleExports.java
! test/runtime/modules/JVMAddModuleExportsToAll.java



hg: jigsaw/jake/hotspot: Fix -XX:+TraceClassPaths output for Boot loader class path/

2016-01-22 Thread harold . seigel
Changeset: ea7b1ad5d733
Author:hseigel
Date:  2016-01-22 15:27 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ea7b1ad5d733

Fix -XX:+TraceClassPaths output for Boot loader class path/

! src/share/vm/classfile/classLoader.cpp



hg: jigsaw/jake/hotspot: Remove /../../ from @library

2016-01-22 Thread harold . seigel
Changeset: 6ad504333110
Author:hseigel
Date:  2016-01-22 16:23 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6ad504333110

Remove /../../ from @library

! test/runtime/modules/AccessCheck/ExportAllUnnamed.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_CheckRead.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgExpQualToM1.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgExpUnqual.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_UmodNpkg.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_UmodUpkg.java
! test/runtime/modules/AccessCheck/NmodNpkg_CheckRead.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgExpQualToM1.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgExpUnqual.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgNotExp.java
! test/runtime/modules/AccessCheck/NmodNpkg_UmodNpkg.java
! test/runtime/modules/AccessCheck/NmodNpkg_UmodUPkg.java
! test/runtime/modules/AccessCheck/UmodNpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodNpkgDiffCL_PkgExpUnqual.java
! test/runtime/modules/AccessCheck/UmodNpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodNpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodNpkg_PkgExpUnqual.java
! test/runtime/modules/AccessCheck/UmodNpkg_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodUpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkg_PkgNotExp.java
! test/runtime/modules/AccessCheckAllUnnamed.java
! test/runtime/modules/AccessCheckExp.java
! test/runtime/modules/AccessCheckRead.java
! test/runtime/modules/AccessCheckSuper.java
! test/runtime/modules/AccessCheckUnnamed.java
! test/runtime/modules/AccessCheckWorks.java
! test/runtime/modules/ExportTwice.java
! test/runtime/modules/JVMAddModuleExportToAllUnnamed.java
! test/runtime/modules/JVMAddModuleExports.java
! test/runtime/modules/JVMAddModuleExportsToAll.java
! test/runtime/modules/JVMAddModulePackage.java
! test/runtime/modules/JVMAddReadsModule.java
! test/runtime/modules/JVMCanReadModule.java
! test/runtime/modules/JVMDefineModule.java
! test/runtime/modules/JVMIsExportedToModule.java
! test/runtime/modules/LoadUnloadModuleStress.java



hg: jigsaw/jake/hotspot: Reenable test because it now passes because of app class loader change described in 8072481.

2016-01-21 Thread harold . seigel
Changeset: a9ae43ce3241
Author:hseigel
Date:  2016-01-21 11:16 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a9ae43ce3241

Reenable test because it now passes because of app class loader change 
described in 8072481.

! test/runtime/StackGuardPages/testme.sh



hg: jigsaw/jake/hotspot: 89 new changesets

2016-01-13 Thread harold . seigel
Changeset: 13f324f322b4
Author:hshi
Date:  2015-11-26 15:37 +
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/13f324f322b4

8143584: Load constant pool tag and class status with load acquire
Reviewed-by: roland, aph

! src/cpu/aarch64/vm/templateTable_aarch64.cpp

Changeset: b648e37988ca
Author:thartmann
Date:  2015-11-27 09:36 +0100
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b648e37988ca

8142303: C2 compilation fails with "bad AD file"
Summary: Move range checks into intrinsics for String methods.
Reviewed-by: kvn, aph

! src/share/vm/opto/library_call.cpp
+ test/compiler/intrinsics/string/TestStringConstruction.java

Changeset: a5909414bbe4
Author:mdoerr
Date:  2015-10-05 23:53 +0200
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a5909414bbe4

8138896: C1: NativeGeneralJump is mixed up with NativeCall in C1 patching code
Reviewed-by: twisti, vlivanov

! src/share/vm/c1/c1_LIRAssembler.cpp
! src/share/vm/c1/c1_Runtime1.cpp

Changeset: af0e1a8cbb72
Author:never
Date:  2015-11-30 15:21 -0800
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/af0e1a8cbb72

8142333: Build failure in debugInfoRec.cpp with SS12u4
Reviewed-by: coleenp, dholmes, erikj, kvn

! src/share/vm/code/debugInfoRec.cpp

Changeset: 0895419dd5e8
Author:dnsimon
Date:  2015-11-30 15:40 -1000
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0895419dd5e8

8143730: [JVMCI] infopoint recording is too restrictive
Reviewed-by: twisti

! 
src/jdk.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/CompilationResult.java
! 
src/jdk.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/InfopointReason.java
! 
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCompiledCode.java
! src/share/vm/jvmci/jvmciCodeInstaller.cpp
! src/share/vm/jvmci/jvmciCodeInstaller.hpp
! src/share/vm/jvmci/jvmciJavaClasses.hpp

Changeset: da497ea6c120
Author:zmajo
Date:  2015-12-01 08:05 +0100
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/da497ea6c120

8129847: Compiling methods generated by Nashorn triggers high memory usage in C2
Summary: Add a new compiler phase, PhaseRenumberLive, that renumbers live nodes.
Reviewed-by: kvn, thartmann, vlivanov, shade

! src/share/vm/opto/c2_globals.hpp
! src/share/vm/opto/compile.cpp
! src/share/vm/opto/node.cpp
! src/share/vm/opto/node.hpp
! src/share/vm/opto/phase.cpp
! src/share/vm/opto/phase.hpp
! src/share/vm/opto/phaseX.cpp
! src/share/vm/opto/phaseX.hpp

Changeset: 6ffb8ba2cb2c
Author:neliasso
Date:  2015-12-01 19:18 +0100
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6ffb8ba2cb2c

Merge


Changeset: d3e9253a2be2
Author:twisti
Date:  2015-12-01 08:30 -1000
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d3e9253a2be2

8139921: add mx configuration files to support HotSpot IDE configuration 
generation
Reviewed-by: iveresov

! .hgignore
+ .mx.jvmci/.project
+ .mx.jvmci/.pydevproject
+ .mx.jvmci/eclipse-settings/org.eclipse.jdt.core.prefs
+ .mx.jvmci/hotspot/templates/eclipse/cproject
+ .mx.jvmci/hotspot/templates/eclipse/settings/org.eclipse.cdt.core.prefs
+ .mx.jvmci/hotspot/templates/eclipse/settings/org.eclipse.cdt.ui.prefs
+ .mx.jvmci/hotspot/templates/eclipse/settings/org.eclipse.core.runtime.prefs
+ .mx.jvmci/mx_jvmci.py
+ .mx.jvmci/suite.py

Changeset: 36d547b6836f
Author:twisti
Date:  2015-12-01 21:16 +
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/36d547b6836f

Merge


Changeset: f8261a6e2cb2
Author:aph
Date:  2015-11-25 18:13 +
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f8261a6e2cb2

8144028: Use AArch64 bit-test instructions in C2
Reviewed-by: kvn

! src/cpu/aarch64/vm/aarch64.ad
! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
+ test/compiler/codegen/8144028/BitTests.java

Changeset: eb08a4259f33
Author:twisti
Date:  2015-12-01 15:11 -1000
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/eb08a4259f33

8144083: [JVMCI] CompilationResult should be finalized by JVMCI compiler and 
made effectively final
Reviewed-by: iveresov, twisti

! 
src/jdk.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/CompilationResult.java
! src/jdk.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/DataSection.java
! 
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotCompiledCode.java

Changeset: 8578909eeef4
Author:aph
Date:  2015-11-26 10:38 +
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/8578909eeef4

8143219: AArch64 broken by 8141132: JEP 254: Compact Strings
Reviewed-by: kvn

! src/cpu/aarch64/vm/aarch64.ad

Changeset: 37ee45971b17
Author:twisti
Date:  2015-12-02 11:40 -1000
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/37ee45971b17

8144521: [JVMCI] JVMCI is built on 32-bit Windows compiler2 and tiered builds
Reviewed-by: kvn

! make/windows/create_obj_files.sh
! 

hg: jigsaw/jake/hotspot: Uniform refcounting for Symbols associated with a ModuleEntry

2016-01-07 Thread harold . seigel
Changeset: bfa5e6b04b81
Author:mgronlun
Date:  2016-01-07 22:40 +0100
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bfa5e6b04b81

Uniform refcounting for Symbols associated with a ModuleEntry

! src/share/vm/classfile/moduleEntry.cpp
! src/share/vm/classfile/moduleEntry.hpp



hg: jigsaw/jake/hotspot: Support AppCDS with -Xbootclasspath/a

2015-12-15 Thread harold . seigel
Changeset: 16427b29fdb7
Author:jiangli
Date:  2015-12-15 15:24 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/16427b29fdb7

Support AppCDS with -Xbootclasspath/a

! src/share/vm/classfile/classLoader.cpp
! src/share/vm/classfile/classLoader.hpp
! src/share/vm/classfile/classLoaderExt.hpp
! src/share/vm/classfile/systemDictionary.cpp
! src/share/vm/classfile/systemDictionary.hpp
! src/share/vm/classfile/systemDictionaryShared.hpp



hg: jigsaw/jake/hotspot: Fixed test/runtime/SharedArchiveFile/LimitSharedSizes.java - missing @module jdk.attach/sun.tools.attach

2015-12-15 Thread harold . seigel
Changeset: 16c6e9f6a869
Author:iklam
Date:  2015-12-15 15:45 -0800
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/16c6e9f6a869

Fixed test/runtime/SharedArchiveFile/LimitSharedSizes.java - missing @module 
jdk.attach/sun.tools.attach

! test/runtime/SharedArchiveFile/LimitSharedSizes.java



Re: preliminary RFR: 8049365 - Update JDI and JDWP for modules

2015-12-10 Thread harold seigel

Hi Serguei,

Looks good.  Just a few comments.

1. Should jni_GetAllModules() contain the DTrace macros that other JNI 
entries have?


2. Can you add a similar GetAllModules() function to jniCheck.cpp ?

Thanks, Harold

On 12/10/2015 7:04 AM, Alan Bateman wrote:


On 10/12/2015 08:03, serguei.spit...@oracle.com wrote:


Jdk webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/jdk/8049365-Jigsaw-jdk.0/ 



Hotspot webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2015/hotspot/8049365-Jigsaw-hs.0/ 




Summary:

  It is expected that the JDI and JDWP update for modules will have 
several iterations.
  This is the initial one, and it introduces a very minimal 
functionality.
  The main purpose of this preliminary review is to make sure the JDI 
and JDWP update

  for modules goes in a right direction and has nothing obviously wrong.


I went through the changes to the JDWP spec + additions to jdwpgen in 
this iteration and it looks quite good. A few comments:


1. I don't know if JEP 223 considered the JDWP version but I will 
assume this will move to 9 instead of 1.9.


2. In the Module command then the description would be clearer as "... 
that this reference type ...".


3. In the Module command set then we'll need to decide the reply to 
the Name command for the case that the module is an unnamed module. 
There is also an open issue for the runtime API too.


4. Also in the Module command set then the CanRead targetModule should 
be "source" (not target) to get consistency with the runtime API.



As you mentioned in your mail, I think the GetAllModules will need to 
move to JVM TI so that it's consistent with GetAllClasses, 
GetAllThreads, ...



I also went through the JDI changes. The type hierarchy in JDI is 
quite deep and is has a convention for naming that we need to follow 
too. Looking at it now then it looks like it should be ModuleReference 
extends ObjectReference. That would give us consistency with other 
mirrors that are object references (ThreadReference and 
ClassLoaderReference for example). We don't rev JDI often enough to 
keep the hierarchy and naming convention in our heads so good to have 
more eyes on this.


ReferenceType::module looks right, we'll just need to iterate on the 
javadoc.


VirtualMachine::allModules looks right. Note that the TRACE_* fields 
are public and part of the JDI API so we'll need to decide whether 
TRACE_MODULES is important or not.


In ReferenceTypeImpl then I assume isModuleCached is not needed. Maybe 
you have this to the JDWP command when connected to a target VM that 
is JDK 8 or older?


VirtualMachineImpl - this might be the time to change to 9 rather than 
1.9.


ModuleImpl - I assume ref can be final.


Have you thought about SA yet? I can't recall if it is compiled with 
the boot JDK or will be compiled against the newly built jdk.jdi 
module. If the later then I assume that SA will need updates. If the 
former then I assume we will have issues with boot cycle builds.


Tests. I see you have a basic test but I assume we will need to find 
time to develop a lot more tests for this update.


-Alan




hg: jigsaw/jake/jdk: Remove PackageInfo table, instead, use PackageEntry table for getSystemPackage(s)

2015-12-09 Thread harold . seigel
Changeset: c1d583efa466
Author:hseigel
Date:  2015-12-09 07:56 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c1d583efa466

Remove PackageInfo table, instead, use PackageEntry table for 
getSystemPackage(s)

! src/java.base/share/classes/jdk/internal/misc/BootLoader.java



hg: jigsaw/jake/hotspot: Remove PackageInfo table, instead, use PackageEntry table for getSystemPackage(s)

2015-12-09 Thread harold . seigel
Changeset: 868ecee09500
Author:hseigel
Date:  2015-12-09 07:55 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/868ecee09500

Remove PackageInfo table, instead, use PackageEntry table for 
getSystemPackage(s)

! src/share/vm/classfile/classLoader.cpp
! src/share/vm/classfile/classLoader.hpp
! src/share/vm/classfile/classLoaderExt.hpp
! src/share/vm/classfile/packageEntry.cpp
! src/share/vm/classfile/packageEntry.hpp
! src/share/vm/memory/metaspaceShared.cpp
! src/share/vm/memory/universe.cpp
! src/share/vm/runtime/mutexLocker.cpp
! src/share/vm/runtime/mutexLocker.hpp
! test/runtime/getSysPackage/GetSysPkgTest.java



hg: jigsaw/jake/hotspot: Improve module related IAE error messages, add unnamed module identity hash to messages.

2015-12-02 Thread harold . seigel
Changeset: ec9ad3190695
Author:hseigel
Date:  2015-12-02 10:23 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec9ad3190695

Improve module related IAE error messages, add unnamed module identity hash to 
messages.

! src/share/vm/classfile/modules.cpp
! src/share/vm/runtime/reflection.cpp
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/NmodNpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/NmodNpkg_PkgNotExp.java
! test/runtime/modules/AccessCheck/NmodNpkg_UmodUPkg.java
! test/runtime/modules/AccessCheck/UmodNpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodNpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodNpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodNpkg_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkgDiffCL_PkgNotExp.java
! test/runtime/modules/AccessCheck/UmodUpkg_PkgExpQualOther.java
! test/runtime/modules/AccessCheck/UmodUpkg_PkgNotExp.java
! test/runtime/modules/AccessCheckExp.java
! test/runtime/modules/AccessCheckRead.java
! test/runtime/modules/AccessCheckSuper.java
! test/runtime/modules/AccessCheckUnnamed.java
! test/runtime/modules/JVMAddModuleExportToAllUnnamed.java



hg: jigsaw/jake/hotspot: Fix issue with two modules having the same package by adding -Xmodule: option for javac.

2015-11-30 Thread harold . seigel
Changeset: 465142d1190a
Author:jlahoda
Date:  2015-11-30 10:41 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/465142d1190a

Fix issue with two modules having the same package by adding 
-Xmodule: option for javac.

! test/runtime/modules/Xpatch/Xpatch2Dirs.java
! test/runtime/modules/Xpatch/XpatchTest.java
! test/runtime/modules/Xpatch/XpatchTraceCL.java
! test/testlibrary/jdk/test/lib/InMemoryJavaCompiler.java



hg: jigsaw/jake/hotspot: Add call to forName() so a class in package sun/invoke/util/ is referenced before requesting its location.

2015-11-18 Thread harold . seigel
Changeset: 3f1ab53fc90d
Author:hseigel
Date:  2015-11-18 09:38 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/3f1ab53fc90d

Add call to forName() so a class in package sun/invoke/util/ is referenced 
before requesting its location.

! test/runtime/getSysPackage/GetSysPkgTest.java



hg: jigsaw/jake/hotspot: Set property sun.boot.class.path to NULL, and include Jiangli's build fix and other build fix.

2015-11-16 Thread harold . seigel
Changeset: d83120ae736e
Author:hseigel
Date:  2015-11-16 15:35 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d83120ae736e

Set property sun.boot.class.path to NULL, and include Jiangli's build fix and 
other build fix.

! src/share/vm/classfile/systemDictionaryShared.hpp
! src/share/vm/oops/instanceKlass.cpp
! src/share/vm/runtime/arguments.cpp
+ test/runtime/BootClassAppendProp/SunBootClassPath.java



Re: RFR 9: 8141571 : jdk/internal/jimage/JImageReadTest.java crashing in msvcr120.dll

2015-11-13 Thread harold seigel

Hi Roger,

The changes look good.

Eventually, will the out-of-memory asserts be replaced with an error in 
order to handle OOM's that occur in production code?


Thanks, Harold

On 11/12/2015 10:20 AM, Roger Riggs wrote:
Please review additions to jimageFile to diagnose an intermittent 
failure.


Webrev:
   http://cr.openjdk.java.net/~rriggs/webrev-jimage-segv-8141571/

Issue:
  https://bugs.openjdk.java.net/browse/JDK-8141571

Thanks, Roger






hg: jigsaw/jake/hotspot: Make ModuleEntry hashtable lookup more efficient.

2015-11-05 Thread harold . seigel
Changeset: e2f40992e003
Author:hseigel
Date:  2015-11-05 16:58 -0500
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e2f40992e003

Make ModuleEntry hashtable lookup more efficient.

! src/share/vm/classfile/moduleEntry.cpp



hg: jigsaw/jake/jdk: Change default module version from "" to null.

2015-10-23 Thread harold . seigel
Changeset: 7919272336c9
Author:hseigel
Date:  2015-10-23 12:27 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/7919272336c9

Change default module version from "" to null.

! src/java.base/share/classes/java/lang/reflect/Module.java



hg: jigsaw/jake/hotspot: Allow modules to have versions of "".

2015-10-20 Thread harold . seigel
Changeset: d3eb015445d3
Author:hseigel
Date:  2015-10-20 17:04 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d3eb015445d3

Allow modules to have versions of "".

! src/share/vm/classfile/modules.cpp



hg: jigsaw/jake/hotspot: ProtectionDomain support for shared module classes from bootmodules.jimage.

2015-10-02 Thread harold . seigel
Changeset: c6d743401cc0
Author:jiangli
Date:  2015-10-02 16:24 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c6d743401cc0

ProtectionDomain support for shared module classes from bootmodules.jimage.

! src/share/vm/classfile/classLoader.cpp
! src/share/vm/classfile/classLoader.hpp
! src/share/vm/classfile/classLoaderData.cpp
! src/share/vm/classfile/classLoaderData.hpp
! src/share/vm/classfile/moduleEntry.cpp
! src/share/vm/classfile/moduleEntry.hpp
! src/share/vm/memory/filemap.hpp
! src/share/vm/runtime/jniHandles.cpp
! src/share/vm/runtime/jniHandles.hpp



hg: jigsaw/jake/hotspot: Replace ":" with File.patchSeparator

2015-10-01 Thread harold . seigel
Changeset: a60073ae6bbe
Author:hseigel
Date:  2015-10-01 08:58 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a60073ae6bbe

Replace ":" with File.patchSeparator

! test/runtime/modules/Xpatch/Xpatch2Dirs.java



hg: jigsaw/jake/hotspot: Fix up handling of -Xpatch/-Xoverride dirs when appending 'java.base'. Also, remove unneeded @modules for Xpatch tests.

2015-09-24 Thread harold . seigel
Changeset: 02f1e0d0cc52
Author:hseigel
Date:  2015-09-24 14:25 -0400
URL:   http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/02f1e0d0cc52

Fix up handling of -Xpatch/-Xoverride dirs when appending 'java.base'.  Also, 
remove unneeded @modules for Xpatch tests.

! src/share/vm/runtime/arguments.cpp
! test/runtime/modules/Xpatch/Xpatch2Dirs.java
! test/runtime/modules/Xpatch/XpatchTest.java
! test/runtime/modules/Xpatch/XpatchTraceCL.java



Re: CFV: New Jigsaw Committer: Lois Foltan

2015-09-22 Thread harold seigel

Vote: Yes

Harold

On 9/16/2015 2:43 PM, Karen Kinnear wrote:

I hereby nominate Lois Foltan to Jigsaw Committer.

Lois is a member of the hotspot runtime team and a committer on the jdk9 
project.
Lois has been contributing to Project Jigsaw for more than a year, including 
jvm support
for module and package metadata, boot class loader support for observability 
boundary
checking and jvm support for access control checks based on the new jigsaw 
access
control rules relative to module readability and exports. These are currently 
prototyped in the
jigsaw/m3 forest.

Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw Committers 
[1]
are eligible to vote on this nomination.  Votes must be cast in the open by 
replying to
this mailing list.

For Lazy Consensus voting instructions, see [2].

[1] http://openjdk.java.net/census
[2] http://openjdk.java.net/projects/#committer-vote

jigsaw changesets:

http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/ec64631485ee
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/361b6493fd8c
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/483a16ff1561
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a96cc469159a
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b77ade9699f3
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/4bf2c76660e6
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6304c4530d95
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6821aa4f2b30
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/40b26486a13a
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c642727aa248
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/c5533b42e897
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/f0885ae77815
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/423249ef49ba

And the one that Alan committed, but is contributed by Harold and myself that 
contains the initial implementation of the VM support for modules.
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/6e3af5b0d4c8






Re: CFV: New Committer: Christian Tornqvist

2015-09-22 Thread harold seigel

Vote: yes

Harold

On 9/16/2015 2:42 PM, Karen Kinnear wrote:

I hereby nominate Christian Tornqvist to Jigsaw Committer.

Christian is the hotspot runtime SQE lead and a Reviewer on the jdk9 project.
Christian has contributed new tests and made extensive changes to the hotspot 
tests for jigsaw in the
jigsaw/m3 forest, including adding the ability to test JVM_* APIs via white box 
testing, testing
for memory leaks due to class unloading, and modifications to tests to deal 
with jigsaw command
line options.

Votes are due by: September 30, 2015, 7:00 PST. Only current Jigsaw
Committers [1] are eligible to vote on this nomination.  Votes must be cast
in the open by replying to this mailing list.

For Lazy Consensus voting instructions, see [2].

thanks,
Karen

[1] http://openjdk.java.net/census
[2] http://openjdk.java.net/projects/#committer-vote

Christian's jigsaw changesets:

http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/928e89280286
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/a6486dd6f141
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/2e29f5e8333b
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/18c4d48f7fdf
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0a3a73c4976b
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/97666a3ee1b7
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b6c27227f14d
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0be80247e442
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/bbc6dfd8f329
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/651cd13f8cc2
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b8ad3584a1c
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/aaab3e55ae2f
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/e91779d9e691
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/35f7a63f6260
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/0b1b80bd13c5
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/5c450268abbd
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/dbe3a0baee50
http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/cc031dd0e784