Sorry. One more webrev .. 06
http://cr.openjdk.java.net/~ntoda/8042469/webrev-06/
Kumar's nit was correct and in fact index was old and should have been
removed
allowing .contains member to be used instead of .indexOf. So cleaned up
a bit more
as can be seen below. Other of Kumar's nits done.
Thanks Kumar.
webrev-06
102 // get the PID from the env var we set for the JVM
103 String envVarPid = null;
104 for (String line : tr.testOutput) {
105 if (line.contains(envVarPidString)) {
106 int sindex = envVarPidString.length();
107 envVarPid = line.substring(sindex);
108 break;
109 }
110 }
111 // did we find envVarPid?
112 if (envVarPid == null) {
113 System.out.println(tr);
114 throw new RuntimeException("Error: failed to find env Var Pid
in tracking info");
115 }
webrev-05
102 // get the PID from the env var we set for the JVM
103 haveLauncherPid = false;
104 String envVarPid = null;
105 for (String line : tr.testOutput) {
106 int index;
107 if ((index = line.indexOf(envVarPidString)) >= 0) {
108 int sindex = envVarPidString.length();
109 envVarPid = line.substring(sindex);
110 haveLauncherPid = true;
111 break;
112 }
113 }
114 // did we find envVarPid?
115 if (!haveLauncherPid) {
116 System.out.println(tr);
117 throw new RuntimeException("Error: failed to find env Var Pid
in tracking info");
118 }
On 6/24/2014 2:28 PM, Neil Toda wrote:
New webrev-05 with Kumar's comments except for the "C'ish" style.
Explained below.
http://cr.openjdk.java.net/~ntoda/8042469/webrev-05/
105 : DONE
146: DONE
168: DONE
106: Your suggestion was the way I had originally coded it for Linux.
However
on Windows/Cygwin, the code will not compile There is some
interaction
with the doExec() preceeding it and the fact that it is a
varlist. This coding
was the simplest workaround.
Thanks for the nits Kumar.
On 6/24/2014 5:36 AM, Kumar Srinivasan wrote:
Neil,
Some nits:
TestSpecialArgs.java:
extra space
105 for ( String line : tr.testOutput) {
This is very C'ish, I suggest.
-106 int index;
-107 if ((index = line.indexOf(envVarPidString)) >=
0) {
+106 int index = line.indexOf(envVarPidString);
+107 if (index >= 0) {
Needs space
-146 launcherPid = line.substring(sindex,tindex);
+146 launcherPid = line.substring(sindex, tindex);
Needs space
-168 if (!tr.contains("NativeMemoryTracking: got value
"+NMT_Option_Value)) {
+168 if (!tr.contains("NativeMemoryTracking: got value "
+ NMT_Option_Value)) {
Thanks
Kumar
On 6/23/2014 10:26 AM, Neil Toda wrote:
I've spun a new webrev based on the comments for webrev-03:
http://cr.openjdk.java.net/~ntoda/8042469/webrev-04/
Changes are:
1) java.c
a) add free(envName) line 1063
b) change from malloc() to JLI_MemAlloc() @ lines 1048 and 1056
Thanks
-neil
On 6/20/2014 4:45 PM, Kumar Srinivasan wrote:
Neil,
Generally looks good, yes JLI_* functions must be used, I missed
that one.
Are you going to post another iteration ?
Kumar
On 6/20/2014 4:27 PM, Neil Toda wrote:
Thanks Joe. It would have checked for NULL for me.
I'll use the JLI wrapper.
-neil
On 6/20/2014 4:04 PM, Joe Darcy wrote:
Memory allocation in the launcher should use one of the
JLI_MemAlloc wrappers, if possible.
-Joe
On 06/20/2014 09:50 AM, Neil Toda wrote:
They should complain. Thanks Zhengyu. I'll make sure these are
non-null.
-neil
On 6/20/2014 5:01 AM, Zhengyu Gu wrote:
Neil,
Thanks for quick implementation.
java.c:
Did not check return values of malloc(), I wonder if source
code analyzers will complain.
-Zhengyu
On 6/19/2014 8:29 PM, Neil Toda wrote:
Launcher support for modified Native Memory Tracking mechanism
in JVM in JDK9.
Webrev : http://cr.openjdk.java.net/~ntoda/8042469/webrev-03/
bug : https://bugs.openjdk.java.net/browse/JDK-8042469
CCC : http://ccc.us.oracle.com/8042469
Thanks.
-neil