Re: 8029805/8029806: Remove XXX addPropertyChangeListener and removePropertyChangeListener methods

2013-12-11 Thread Magnus Ihse Bursie

On 2013-12-10 12:06, Alan Bateman wrote:


(This one is for the jdk9-dev forest once it is created)

The addPropertyChangeListener and removePropertyChangeListener methods 
defined by Pack200.{Packer,Unpacker} and LogManager methods are 
deprecated and flagged with a warning that they will be removed in a 
future release. This is highlighted in the EDR and Public Review of 
JSR 337 and also flagged in JEP 162.


I'd like to swing the axe early in JDK 9 so as to give every 
opportunity for anything that might have a dependency. There are a few 
other modularity related changes that need to go in early too but this 
is the only one that involves the removal of methods.


The webrev with the changes is here:

http://cr.openjdk.java.net/~alanb/8029805%2b8029806/webrev/


I'm glad to see this hackish stuff go away!

The build changes are mostly fine, however you remove the definition of 
BEANLESS_CLASSES_TARGETS but do not remove it everywhere. While it will 
work (expands to empty), it would be better if you fixed this line as well:
$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: 
$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents 
$(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS) 
$(BEANLESS_CLASSES_TARGETS)



/Magnus


Re: RFR: 8029795 : LinkedHashMap.getOrDefault() doesn't update access order. (was Why doesn't new Map methods generate entry accesses on LinkedHashMap?)

2013-12-11 Thread Paul Sandoz

On Dec 11, 2013, at 1:27 AM, Mike Duigou mike.dui...@oracle.com wrote:

 I have added tests and documentation for the other methods.
 
 http://cr.openjdk.java.net/~mduigou/JDK-8029795/1/webrev/
 
 The documentation for some of the methods is ambiguous about how many access 
 events are generated. For LRU cache is OK but other cases (counting based 
 eviction) may care about the total number of accesses.

+ * invocation completes).  Invoking the {@code replace}, {@code merge},
+ * {@code compute} or {@code computeIfPresent} methods results in one or more
+ * accesses of the corresponding entry. The {@code putAll} method generates one

If i look at the code for say replace it generates *at most one access* in 
terms of affecting last access order, if the entry exists and if the old/new 
value constraint holds:

@Override
public boolean replace(K key, V oldValue, V newValue) {
NodeK,V e; V v;
if ((e = getNode(hash(key), key)) != null 
((v = e.value) == oldValue || (v != null  v.equals(oldValue {
e.value = newValue;
afterNodeAccess(e);
return true;
}
return false;
}


I have attempted to categorise the access behaviour of each method:

get:
  access to entry, if it exists

put:
  access to new entry

putIfAbsent
  access to entry, if it exists
  otherwise access to new entry

replace(K key, V value)
  access to entry, if it exists

replace(K key, V oldValue, V newValue)
  access to entry, if it exists and it's value is updated

computeIfAbsent:
  access to entry, if it exists and it's value is non-null, or 
  access to entry, if it exists and it's null value is updated to a non-null 
value [*], 
  otherwise access to new entry, if created

computeIfPresent
  access to entry, if it exists and it's non-null value is updated to a 
non-null value

compute
  access to entry, if it exists and it's value is updated to a non-null value,
  otherwise access to new entry, if created

merge
  access to entry, if it exists and it's value is updated to a non-null value,
  otherwise access to new entry, if created


Patterns, to help group for documentation:

get/put/putIfAbsent/replace(K key, V value): access to entry associated with 
the key, if entry exists after invocation completes

replace(K key, V oldValue, V newValue): access to entry associated with the 
key, if returns true

computeIfAbsent/computeIfPresent/compute/merge: access to entry associated with 
the key, if returns a non-null value.


--

[*] There is some ambiguity with computeIfAbsent. When the entry exists, it's 
value is null, and the value returned from the mapping function is null then, 
an access to that entry occurs:

V v = mappingFunction.apply(key);
if (old != null) {
old.value = v;
afterNodeAccess(old);
return v;
}
else if (v == null)
return null;

Is that a bug? I would have expected the returning of null from the mapping 
function to signal no-action to be taken. Thus computeIfPresent and 
computeIfAbsent have no side-effects for an existing entry whose value is null 
when the function returns null (same applies to merge, if the value parameter 
is null or the remapping function returns null, and to compute, if the 
remapping function returns null).

So perhaps that code should be:

V v = mappingFunction.apply(key);
if (v == null)
   return null;
else if (old != null) {
old.value = v;
afterNodeAccess(old);
return v;
}
 
Paul.


Re: 8029805/8029806: Remove XXX addPropertyChangeListener and removePropertyChangeListener methods

2013-12-11 Thread Alan Bateman

On 11/12/2013 10:03, Magnus Ihse Bursie wrote:


I'm glad to see this hackish stuff go away!

The build changes are mostly fine, however you remove the definition 
of BEANLESS_CLASSES_TARGETS but do not remove it everywhere. While it 
will work (expands to empty), it would be better if you fixed this 
line as well:
$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: 
$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents 
$(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS) 
$(BEANLESS_CLASSES_TARGETS)
Thanks, I noticed this later too and will make sure to remove all 
vestiges before pushing.


-Alan


Re: 8029886: Change SecurityManager check{TopLevelWindow, SystemClipboardAccessAwtEventQueueAccess} to check AllPermission

2013-12-11 Thread Alan Bateman

On 10/12/2013 18:37, Mandy Chung wrote:

Alan,

The change looks good.   A minor one - in the class description of 
java.lang.SecurityManager,  I suggest to remove the references to 
java.awt.AWTPermission line 143 and 214.
Thanks Mandy. I left in these links as it's just a sample list of 
permissions but I don't have a strong opinion and I'm happy to remove 
them too.


-Alan


Re: AWT Dev 8029886: Change SecurityManager check{TopLevelWindow, SystemClipboardAccessAwtEventQueueAccess} to check AllPermission

2013-12-11 Thread Artem Ananiev

Hi, Alan,

the changes look fine to me.

A short quick question: what is the reason to introduce a new 
AWTPermissions class as a holder for various AWTPermission constants? We 
can have the same fields directly in AWTPermission. The only difference 
is that AWTPermission is in java.awt, while the new class is in sun.awt, 
but such a change seem to require a CCC request anyway...


Thanks,

Artem

On 12/10/2013 5:51 PM, Alan Bateman wrote:


In JDK 8 we deprecated the JDK 1.1-era SecurityManager methods
checkTopLevelWindow, checkSystemClipboard and
checkAccessAwtEventQueueAccess with a warning that they would be changed
in a future release to check AllPermission. At the same time we changed
the java.awt.Window and Toolkit methods to use checkPermission directly
so that the legacy methods aren't used. The motive for all this is
modules of course and the strong desire to remove the dependency on
java.awt.AWTPermission.

I'd like to get the second phase of this work into JDK 9 early to give
every opportunity to find any potential issues. The second phase of this
work changes the SecurityManager methods to check AllPermission and
updates the implementation to remove the reflection hackery that was
used to allow this code work without AWT being present (something that
was needed for the profiles build).

The webrev with the changes is here:
   http://cr.openjdk.java.net/~alanb/8029886/webrev/

The main thing that I'd like to get agreement on is the wording for the
updated methods and also agreement from the AWT group to move the
permission constants to a new class sun.awt.AWTPermissions.

-Alan.


Re: AWT Dev 8029886: Change SecurityManager check{TopLevelWindow, SystemClipboardAccessAwtEventQueueAccess} to check AllPermission

2013-12-11 Thread Alan Bateman

On 11/12/2013 13:17, Artem Ananiev wrote:

Hi, Alan,

the changes look fine to me.

A short quick question: what is the reason to introduce a new 
AWTPermissions class as a holder for various AWTPermission constants? 
We can have the same fields directly in AWTPermission. The only 
difference is that AWTPermission is in java.awt, while the new class 
is in sun.awt, but such a change seem to require a CCC request anyway...


Thanks Artem. Adding them to AWTPermission would bring them into Java SE 
/ public API and that doesn't seem to be worth it. The main thing is 
that we move them out of sun.security.util.SecurityConstants so that we 
can finally eliminate the execution-time dependency (what we have in the 
jdk8 forest is okay for profiles but we need to do better with modules).


-Alan.


Re: 8029886: Change SecurityManager check{TopLevelWindow, SystemClipboardAccessAwtEventQueueAccess} to check AllPermission

2013-12-11 Thread Sean Mullan

On 12/10/2013 08:51 AM, Alan Bateman wrote:


In JDK 8 we deprecated the JDK 1.1-era SecurityManager methods
checkTopLevelWindow, checkSystemClipboard and
checkAccessAwtEventQueueAccess with a warning that they would be changed
in a future release to check AllPermission. At the same time we changed
the java.awt.Window and Toolkit methods to use checkPermission directly
so that the legacy methods aren't used. The motive for all this is
modules of course and the strong desire to remove the dependency on
java.awt.AWTPermission.

I'd like to get the second phase of this work into JDK 9 early to give
every opportunity to find any potential issues. The second phase of this
work changes the SecurityManager methods to check AllPermission and
updates the implementation to remove the reflection hackery that was
used to allow this code work without AWT being present (something that
was needed for the profiles build).

The webrev with the changes is here:
   http://cr.openjdk.java.net/~alanb/8029886/webrev/

The main thing that I'd like to get agreement on is the wording for the
updated methods and also agreement from the AWT group to move the
permission constants to a new class sun.awt.AWTPermissions.


The code changes and suggested wording for the updated methods look fine 
to me. Please add a release-note=yes label to the issue. The permissions 
security guide will also need to be updated with the new behavior of 
these methods: 
http://download.java.net/jdk8/docs/technotes/guides/security/permissions.html#PermsAndMethods 
-- I suggest adding a comment indicating that so we remember to update 
the docs as part of writing the release notes task.


--Sean




Re: 8029886: Change SecurityManager check{TopLevelWindow, SystemClipboardAccessAwtEventQueueAccess} to check AllPermission

2013-12-11 Thread Alan Bateman

On 11/12/2013 16:16, Sean Mullan wrote:


The code changes and suggested wording for the updated methods look 
fine to me. Please add a release-note=yes label to the issue. The 
permissions security guide will also need to be updated with the new 
behavior of these methods: 
http://download.java.net/jdk8/docs/technotes/guides/security/permissions.html#PermsAndMethods 
-- I suggest adding a comment indicating that so we remember to update 
the docs as part of writing the release notes task.
Thanks for the pointer to that guide, I wasn't aware for it (and now 
that I read it then I see that it is out of date, the changes that are 
you suggesting we need to remember are required now because those 
methods had their spec changes in 8 to use checkPermission directly).


-Alan


RFR (JAXP) 8029895 : XMLOutputFactory.newFactory(String, ClassLoader) - incorrect specification

2013-12-11 Thread huizhe wang

Hi,

This is a quick documentation change to fix an error in 
javax.xml.stream.XMLOutputFactory:


http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/

Thanks,
Joe


RFR: JDK 9: 8024033: [launcher] remove solaris dual mode support

2013-12-11 Thread Kumar Srinivasan

Hello Joe, Martin, et. al.,

In JDK8, solaris 32-bit support was removed entirely, this is the only 
platform that required
 dual-mode support, ie. 32-bit and 64-bit binaries co-located in the 
same binary hierarchy
on the disk. In JDK 8 the DUAL_MODE support was disabled in the 
launcher, using compile
time conditionals, however  in JDK9 we wish to remove the logic 
entirely, this is messy and

makes the launcher cleaner and easier to maintain.

Webrev:
http://cr.openjdk.java.net/~ksrini/8024033/webrev.0/

Thanks
Kumar



Re: RFR (JAXP) 8029895 : XMLOutputFactory.newFactory(String, ClassLoader) - incorrect specification

2013-12-11 Thread Daniel Fuchs

On 12/11/13 8:52 PM, huizhe wang wrote:

Hi,

This is a quick documentation change to fix an error in
javax.xml.stream.XMLOutputFactory:

http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/

Thanks,
Joe


Hi Joe,

Looks good to me - but I'm not a native English speaker :-)

-- daniel


Re: RFR (JAXP) 8029895 : XMLOutputFactory.newFactory(String, ClassLoader) - incorrect specification

2013-12-11 Thread Alan Bateman

On 11/12/2013 19:52, huizhe wang wrote:

Hi,

This is a quick documentation change to fix an error in 
javax.xml.stream.XMLOutputFactory:


http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/

Thanks,
Joe
It looks okay although I think it could be reduced to something like 
The original method was incorrectly defined to return XMLInputFactory.


-Alan.


hg: jdk8/tl/langtools: 8029558: java.lang.VerifyError: Bad return type when lambda's body is in parentheses

2013-12-11 Thread robert . field
Changeset: 847cc0cccfa1
Author:rfield
Date:  2013-12-11 11:56 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/langtools/rev/847cc0cccfa1

8029558: java.lang.VerifyError: Bad return type when lambda's body is in 
parentheses
Summary: properly type convert the body of a lambda expression
Reviewed-by: vromero

! src/share/classes/com/sun/tools/javac/comp/TransTypes.java
+ test/tools/javac/lambda/LambdaParenGeneric.java
+ test/tools/javac/lambda/LambdaParenGenericOrig.java



Re: RFR (JAXP) 8029895 : XMLOutputFactory.newFactory(String, ClassLoader) - incorrect specification

2013-12-11 Thread huizhe wang


On 12/11/2013 12:21 PM, Alan Bateman wrote:

On 11/12/2013 19:52, huizhe wang wrote:

Hi,

This is a quick documentation change to fix an error in 
javax.xml.stream.XMLOutputFactory:


http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/

Thanks,
Joe
It looks okay although I think it could be reduced to something like 
The original method was incorrectly defined to return XMLInputFactory.


Updated to use your statement:

http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/

-Joe



-Alan.




Re: RFR: JDK 9: 8024033: [launcher] remove solaris dual mode support

2013-12-11 Thread Kumar Srinivasan


On 12/11/2013 12:25 PM, Martin Buchholz wrote:
Although I have a small emotional attachment to the idea of fat 
binaries, there doesn't seem to be too much support for this in the 
larger java community, and probably the larger unix community will be 
64-bit only relatively soon.  So ... OK.


There's one remaining mention of LD_LIBRARY_PATH_32.  Maybe you want 
to scrub that as well?

  589 (void)UnsetEnv((wanted == 32) ? LD_LIBRARY_PATH_32 : 
LD_LIBRARY_PATH_64);


Good catch I will scrub that.
Thanks Martin.

Kumar




On Wed, Dec 11, 2013 at 12:08 PM, Kumar Srinivasan 
kumar.x.sriniva...@oracle.com mailto:kumar.x.sriniva...@oracle.com 
wrote:


Hello Joe, Martin, et. al.,

In JDK8, solaris 32-bit support was removed entirely, this is the
only platform that required
 dual-mode support, ie. 32-bit and 64-bit binaries co-located in
the same binary hierarchy
on the disk. In JDK 8 the DUAL_MODE support was disabled in the
launcher, using compile
time conditionals, however  in JDK9 we wish to remove the logic
entirely, this is messy and
makes the launcher cleaner and easier to maintain.

Webrev:
http://cr.openjdk.java.net/~ksrini/8024033/webrev.0/
http://cr.openjdk.java.net/%7Eksrini/8024033/webrev.0/

Thanks
Kumar






Re: RFR for JDK-7168267: TEST_BUG: Cleanup of rmi regression tests (activation and others)

2013-12-11 Thread Stuart Marks

On 12/10/13 6:10 PM, Tristan Yan wrote:

/Hi everyone
I am working on bug JDK-7168267
https://bugs.openjdk.java.net/browse/JDK-6963118 .


Correct link is

https://bugs.openjdk.java.net/browse/JDK-7168267


Root Cause:
- Per Stuart's comment, this is a clean up bug.

Suggested Fix:
- Will use timeout to replace loop.


We should probably look at specific cases for this. There are places where the 
test is waiting for some external service to become ready (e.g., rmiregistry). 
There's no notification for things like this so wait-with-timeout cannot be 
used. Pretty much the only thing that can be done is to poll reasonably often 
until the service is ready, or until the timeout is exceeded.



- Also I am fixing two test's performance
java/rmi/activation/Activatable/forceLogSnapshot - method waitAllStarted is
using sleep to poll 50 restartedObject to be true, we can use modern
CountDownLatch to implement blocking-time wait.
java/rmi/activation/Activatable/checkAnnotations - We can subclass
ByteArrayOutputStream which support notification when data was written. Also use
two thread wait output string and error string to be not null.


These sound reasonble. Go ahead and file sub-tasks for these and then choose one 
to work on first. (I think it will get too confusing if we try to work on them 
all simultaneously.) Either post a detailed description of what you intend to 
do, or if it's simple enough, just post a webrev.


s'marks



Please let me know if you have any comments or suggestions.
/ /
Thank you
Tristan

On 12/05/2013 09:02 AM, Stuart Marks wrote:
/

/On 12/3/13 11:05 PM, Tristan Yan wrote:
/

/I am working on https://bugs.openjdk.java.net/browse/JDK-7168267. This bug is
asking performance improvement for RMI test. Because this would involve
different RMI tests. I’d like to use this cr as an umbrella bug, create sub-cr
for different test. Then I can make progress on sub-cr. Please let me know your
opinion on this.
/

/
Actually JDK-7168267 is more about various test cleanups, and JDK-8005436 is
more about performance. Both bugs, though, make general statements about the
RMI tests and don't have much information about specific actions that need to
be taken. I've added some notes to JDK-7168267 about some cleanups that could
be done.
/ /
If there are specific actions for either of these bugs, then yes, creating
Sub-Tasks of these bugs and fixing them individually is the right thing to do.
/ /
s'marks
/

/
/


Re: RFR (JAXP) 8029895 : XMLOutputFactory.newFactory(String, ClassLoader) - incorrect specification

2013-12-11 Thread Lance Andersen - Oracle
looks fine joe
On Dec 11, 2013, at 4:10 PM, huizhe wang wrote:

 
 On 12/11/2013 12:21 PM, Alan Bateman wrote:
 On 11/12/2013 19:52, huizhe wang wrote:
 Hi,
 
 This is a quick documentation change to fix an error in 
 javax.xml.stream.XMLOutputFactory:
 
 http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/
 
 Thanks,
 Joe
 It looks okay although I think it could be reduced to something like The 
 original method was incorrectly defined to return XMLInputFactory.
 
 Updated to use your statement:
 
 http://cr.openjdk.java.net/~joehw/jdk8/jaxp16MR/8029895/webrev/
 
 -Joe
 
 
 -Alan.
 


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com



Re: [8] WXP minor fixes for a cleaner compile of c code

2013-12-11 Thread Mandy Chung
I have filed https://bugs.openjdk.java.net/browse/JDK-8030010 to clean 
up these warning and I can sponsor it.


Mandy

On 12/10/2013 11:17 PM, Staffan Larsen wrote:

I see you were directed here from the build-dev list. Unfortunately these are 
core library fixes, not hotspot fixes. I’ve added core-libs and bcc:d 
hotspot-dev.

Thanks,
/Staffan

On 11 dec 2013, at 07:34, Francis ANDRE francis.andre.kampb...@orange.fr 
wrote:


Hi

Below are some warnings produced by the build of jdk8.

Z:/JDK/jdk8/jdk/src/share/native/java/lang/Throwable.c(48) : warning C4028:
paramétre formel 3 différent de la déclaration
Z:/JDK/jdk8/jdk/src/windows/native/java/io/WinNTFileSystem_md.c(363) : warning
C4101: 'pathlen': variable locale non référencée
Z:/JDK/jdk8/jdk/src/windows/native/common/jdk_util_md.c(45) : warning C4101:
'ret': variable locale non référencée
Z:/JDK/jdk8/jdk/src/share/bin/java.c(1253) : warning C4101: 'result': variable
locale nonréférencée
Z:/JDK/jdk8/jdk/src/share/bin/parse_manifest.c(196) : warning C4244: 'fonction':
conversion de 'jlong' en 'unsigned int', perte possible de données



And here are the fixes

diff --git a/src/share/bin/java.c b/src/share/bin/java.c
--- a/src/share/bin/java.c
+++ b/src/share/bin/java.c
@@ -1250,7 +1250,6 @@
GetApplicationClass(JNIEnv *env)
{
 jmethodID mid;
-jobject result;
 jclass cls = GetLauncherHelperClass(env);
 NULL_CHECK0(cls);
 NULL_CHECK0(mid = (*env)-GetStaticMethodID(env, cls,
diff --git a/src/share/bin/parse_manifest.c b/src/share/bin/parse_manifest.c
--- a/src/share/bin/parse_manifest.c
+++ b/src/share/bin/parse_manifest.c
@@ -193,7 +193,7 @@
 return (-1);
 if ((buffer = malloc(END_MAXLEN)) == NULL)
 return (-1);
-if ((bytes = read(fd, buffer, len))  0) {
+if ((bytes = read(fd, buffer, (size_t)len))  0) {
 free(buffer);
 return (-1);
 }
diff --git a/src/share/native/java/lang/Throwable.c
b/src/share/native/java/lang/Throwable.c
--- a/src/share/native/java/lang/Throwable.c
+++ b/src/share/native/java/lang/Throwable.c
@@ -44,7 +44,7 @@
  * `this' so you can write 'throw e.fillInStackTrace();'
  */
JNIEXPORT jobject JNICALL
-Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, int
dummy)
+Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, jint
dummy)
{
 JVM_FillInStackTrace(env, throwable);
 return throwable;
diff --git a/src/windows/native/common/jdk_util_md.c
b/src/windows/native/common/jdk_util_md.c
--- a/src/windows/native/common/jdk_util_md.c
+++ b/src/windows/native/common/jdk_util_md.c
@@ -42,7 +42,6 @@
JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) {
 HMODULE handle = NULL;
 char path[MAX_PATH];
-int ret;

 if (GetSystemDirectory(path, sizeof(path)) != 0) {
 strcat(path, \\);
diff --git a/src/windows/native/java/io/WinNTFileSystem_md.c
b/src/windows/native/java/io/WinNTFileSystem_md.c
--- a/src/windows/native/java/io/WinNTFileSystem_md.c
+++ b/src/windows/native/java/io/WinNTFileSystem_md.c
@@ -360,7 +360,6 @@
   jobject file)
{
 jint rv = 0;
-jint pathlen;

 WCHAR *pathbuf = fileToNTPath(env, file, ids.path);
 if (pathbuf == NULL)







RFR: 8027536: rmic: add deprecation warning message

2013-12-11 Thread Stuart Marks

Hi all,

Just one more deprecation task for JDK 8

Please review the following change to rmic to add a warning message that's 
emitted when static stubs are generated:


http://cr.openjdk.java.net/~smarks/reviews/8027536/webrev.0/

https://bugs.openjdk.java.net/browse/JDK-8027536

Thanks,

s'marks


hg: jdk8/tl/jdk: 8029551: Add value-type notice to java.time classes

2013-12-11 Thread roger . riggs
Changeset: fe3383582427
Author:rriggs
Date:  2013-12-11 16:52 -0500
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/fe3383582427

8029551: Add value-type notice to java.time classes
Summary: Add warning about identity of value types and reference to 
ValueBased.html
Reviewed-by: briangoetz, smarks, scolebourne

! src/share/classes/java/time/Duration.java
! src/share/classes/java/time/Instant.java
! src/share/classes/java/time/LocalDate.java
! src/share/classes/java/time/LocalDateTime.java
! src/share/classes/java/time/LocalTime.java
! src/share/classes/java/time/MonthDay.java
! src/share/classes/java/time/OffsetDateTime.java
! src/share/classes/java/time/OffsetTime.java
! src/share/classes/java/time/Period.java
! src/share/classes/java/time/Year.java
! src/share/classes/java/time/YearMonth.java
! src/share/classes/java/time/ZoneId.java
! src/share/classes/java/time/ZoneOffset.java
! src/share/classes/java/time/ZonedDateTime.java
! src/share/classes/java/time/chrono/HijrahDate.java
! src/share/classes/java/time/chrono/JapaneseDate.java
! src/share/classes/java/time/chrono/MinguoDate.java
! src/share/classes/java/time/chrono/ThaiBuddhistDate.java
! test/java/time/tck/java/time/TCKLocalDateTime.java



Re: RFR: 8027536: rmic: add deprecation warning message

2013-12-11 Thread Mandy Chung

On 12/11/2013 1:53 PM, Stuart Marks wrote:

Hi all,

Just one more deprecation task for JDK 8

Please review the following change to rmic to add a warning message 
that's emitted when static stubs are generated:


http://cr.openjdk.java.net/~smarks/reviews/8027536/webrev.0/



The change looks okay.   The error(...) method is called to print 
warnings seems to be confusing.  Perhaps better to call 
output(getText()) directly?


Mandy


https://bugs.openjdk.java.net/browse/JDK-8027536

Thanks,

s'marks




Re: RFR: 8027536: rmic: add deprecation warning message

2013-12-11 Thread Mandy Chung

On 12/11/2013 2:25 PM, Mandy Chung wrote:

On 12/11/2013 1:53 PM, Stuart Marks wrote:

Hi all,

Just one more deprecation task for JDK 8

Please review the following change to rmic to add a warning message 
that's emitted when static stubs are generated:


http://cr.openjdk.java.net/~smarks/reviews/8027536/webrev.0/



The change looks okay.   The error(...) method is called to print 
warnings seems to be confusing.  Perhaps better to call 
output(getText()) directly?


One other note:  AFAIK the last message drop for jdk8 localization was 
done.  It means that the Japanese and Chinese version will not be 
updated matching your patch.   It's okay for the new warning message as 
it will fall back to the default English version.   For the existing 
-v1.1, -vcompat, -v1.2 options, the Japanese and Chinese version will 
not have (deprecated) word in it.   I suggest to edit the other 
localized versions to update the modified existing messages.


Mandy


RFR: JDK9: 8029388: java.exe consumes argument intended for launched java class

2013-12-11 Thread Kumar Srinivasan

Hello,

Please review a fix for Windows launcher where it consumes application args
-d32 and -d64, the fix is to stop the scan when it hits the Application 
sentinel

ie. class-name or jar-name.

http://cr.openjdk.java.net/~ksrini/8029388/webrev.0/

Thanks
Kumar



hg: jdk8/tl/jdk: 2 new changesets

2013-12-11 Thread mike . duigou
Changeset: 1298e476729c
Author:michaelm
Date:  2013-12-11 15:26 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1298e476729c

8029944: Primitive Stream reduce method documentation pseudo code misidentifies 
apply method
Reviewed-by: mduigou
Contributed-by: michael.mcma...@oracle.com

! src/share/classes/java/util/stream/DoubleStream.java
! src/share/classes/java/util/stream/IntStream.java
! src/share/classes/java/util/stream/LongStream.java

Changeset: 1970e3c3d202
Author:michaelm
Date:  2013-12-11 15:27 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/1970e3c3d202

8029696: Broken doc links to package-summary.html#NonInterference in 
java.util.stream
Reviewed-by: mduigou

! src/share/classes/java/util/stream/StreamSupport.java
! src/share/classes/java/util/stream/package-info.java



Re: RFR: 8027536: rmic: add deprecation warning message

2013-12-11 Thread Darryl Mocek

Should this be a warning or error?

Darryl

On 12/11/2013 01:53 PM, Stuart Marks wrote:

Hi all,

Just one more deprecation task for JDK 8

Please review the following change to rmic to add a warning message 
that's emitted when static stubs are generated:


http://cr.openjdk.java.net/~smarks/reviews/8027536/webrev.0/

https://bugs.openjdk.java.net/browse/JDK-8027536

Thanks,

s'marks




Re: RFR: JDK9: 8029388: java.exe consumes argument intended for launched java class

2013-12-11 Thread Mandy Chung

On 12/11/2013 3:21 PM, Kumar Srinivasan wrote:

Hello,

Please review a fix for Windows launcher where it consumes application 
args
-d32 and -d64, the fix is to stop the scan when it hits the 
Application sentinel

ie. class-name or jar-name.

http://cr.openjdk.java.net/~ksrini/8029388/webrev.0/


Nit: can we start checking from argv[1] and skip argv[0]?   line 194 no 
need to check i  0 then.


Nit: line 95 - an extra space before dmodel.   A general question -  
doExec handles the case when the cmd terminates with an exception.  I 
was wondering if the generated Args class should just throw an exception 
if it doesn't match the expected value (i.e. have Args class to do the 
verification).  I pondered a little bit when reading the verifyOption 
method before I read the createOptionsJar method.


Otherwise, looks good.

Mandy


Re: RFR: JDK9: 8029388: java.exe consumes argument intended for launched java class

2013-12-11 Thread Kumar Srinivasan


Mandy,

Thanks for the review.


On 12/11/2013 3:21 PM, Kumar Srinivasan wrote:

Hello,

Please review a fix for Windows launcher where it consumes 
application args
-d32 and -d64, the fix is to stop the scan when it hits the 
Application sentinel

ie. class-name or jar-name.

http://cr.openjdk.java.net/~ksrini/8029388/webrev.0/


Nit: can we start checking from argv[1] and skip argv[0]?   line 194 
no need to check i  0 then.


Yes, we can start from 1 instead of 0.



Nit: line 95 - an extra space before dmodel.   A general question -  
doExec handles the case when the cmd 


Will fix that.

terminates with an exception.  I was wondering if the generated Args 
class should just throw an exception if it doesn't match the expected 
value (i.e. have Args class to do the verification).  I pondered a 
little bit when reading the verifyOption method before I read the 
createOptionsJar method.


I have tried to keep the generated classes as simple as possible, 
compilation failures

and errors in these are hard to track down.

Kumar



Otherwise, looks good.

Mandy




hg: jdk8/tl/jdk: 8026115: [zh_CN] inproper translation in output of jarsigner command

2013-12-11 Thread michael . fang
Changeset: 01b11184bcf9
Author:mfang
Date:  2013-12-11 21:22 -0800
URL:   http://hg.openjdk.java.net/jdk8/tl/jdk/rev/01b11184bcf9

8026115: [zh_CN] inproper translation in output of jarsigner command
Reviewed-by: naoto, yhuang

! src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java



RFR: 8030016: HashMap.computeIfAbsent generates spurious access event

2013-12-11 Thread Mike Duigou
Hello all;

In the review for JDK-8029795 Paul Sandoz noted that HashMap.computeIfAbsent 
would generate a spurious access event for keys mapped to null when the 
function returned null. This patch corrects that behaviour.

http://cr.openjdk.java.net/~mduigou/JDK-8030016/0/webrev/

The actual regression test is LinkedHashMap/ComputeIfAbsentAccessOrder.java 
whereas the changes to Map/Defaults are improvements to the existing tests 
suggested by this bug (though they would not detect it).

Cheers,

Mike

hg: jdk8/tl/nashorn: 3 new changesets

2013-12-11 Thread sundararajan . athijegannathan
Changeset: 4706897b4dec
Author:attila
Date:  2013-12-09 10:52 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/4706897b4dec

8029467: Widening of booleans causes bad results
Reviewed-by: jlaskey, lagergren

! src/jdk/nashorn/internal/codegen/Attr.java
+ test/script/basic/JDK-8029467.js
+ test/script/basic/JDK-8029467.js.EXPECTED

Changeset: 18edd7a1b166
Author:lagergren
Date:  2013-12-11 18:09 +0100
URL:   http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/18edd7a1b166

8029780: ant externals broke our test harness with the latest version of the 
octane benchmarks
Reviewed-by: attila, sundar

! make/build-benchmark.xml
! test/script/basic/compile-octane-splitter.js.EXPECTED
! test/script/basic/compile-octane.js.EXPECTED
! test/script/basic/run-octane.js

Changeset: e452a3797290
Author:sundar
Date:  2013-12-12 09:18 +0530
URL:   http://hg.openjdk.java.net/jdk8/tl/nashorn/rev/e452a3797290

Merge




Re: RFR: JDK 9: 8024033: [launcher] remove solaris dual mode support

2013-12-11 Thread Joe Darcy

Hi Kumar,

Will be glad to see this feature purged from the sources!

I believe the comments on lines 135 to 167 in the new file still need 
some updating.


The comment block on line 261 - 273 may need revising too.

Otherwise, looks fine.

Thanks,

-Joe

On 12/11/2013 01:12 PM, Kumar Srinivasan wrote:


On 12/11/2013 12:25 PM, Martin Buchholz wrote:
Although I have a small emotional attachment to the idea of fat 
binaries, there doesn't seem to be too much support for this in the 
larger java community, and probably the larger unix community will be 
64-bit only relatively soon.  So ... OK.


There's one remaining mention of LD_LIBRARY_PATH_32.  Maybe you 
want to scrub that as well?
  589 (void)UnsetEnv((wanted == 32) ? 
LD_LIBRARY_PATH_32 : LD_LIBRARY_PATH_64);



Good catch I will scrub that.
Thanks Martin.

Kumar




On Wed, Dec 11, 2013 at 12:08 PM, Kumar Srinivasan 
kumar.x.sriniva...@oracle.com 
mailto:kumar.x.sriniva...@oracle.com wrote:


Hello Joe, Martin, et. al.,

In JDK8, solaris 32-bit support was removed entirely, this is the
only platform that required
 dual-mode support, ie. 32-bit and 64-bit binaries co-located in
the same binary hierarchy
on the disk. In JDK 8 the DUAL_MODE support was disabled in the
launcher, using compile
time conditionals, however  in JDK9 we wish to remove the logic
entirely, this is messy and
makes the launcher cleaner and easier to maintain.

Webrev:
http://cr.openjdk.java.net/~ksrini/8024033/webrev.0/
http://cr.openjdk.java.net/%7Eksrini/8024033/webrev.0/

Thanks
Kumar