Hi Goetz,
On 8/12/2016 1:26 AM, Lindenmaier, Goetz wrote:
Hi Dmitry,
yes, new_jvmpath is consistent with the other variables.
I also merged the ifs in SDE.c.
new webrev:
http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.03/
src/java.base/share/native/libjli/java.c
As far as I can see the existing code is working perfectly fine. Given a
jvm.cfg with:
-server KNOWN
-client IGNORE
-myvm KNOWN
-oldvm ALIASED_TO -server
The usage text is:
-server to select the "server" VM
-myvm to select the "myvm" VM
-oldvm is a synonym for the "server" VM [deprecated]
The default VM is server,
because you are running on a server-class machine.
which is exactly what I would expect. Why do you think there is a bug?
---
src/java.base/unix/native/libjli/java_md_solinux.c
Again I'm not sure what the bug is here. On AIX the output string is
expanded with:
"%s/lib/%s/jli:"
so it needs to account for the extra "/lib//jli:" characters - and that
is exactly what the existing code does:
+ JLI_StrLen("/lib//jli:")
The jvmpath -> jvm_newpath change wasn't really necessary - a comment on
the strdup would have sufficed IMO.
Thanks,
David
-----
Best regards,
Goetz.
-----Original Message-----
From: Dmitry Samersoff [mailto:dmitry.samers...@oracle.com]
Sent: Wednesday, December 07, 2016 2:43 PM
To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; Java Core Libs
<core-libs-...@openjdk.java.net>; serviceability-dev (serviceability-
d...@openjdk.java.net) <serviceability-dev@openjdk.java.net>
Subject: Re: RFR(M): 8170663: Fix minor issues in corelib and servicabilty
coding.
Goetz,
SDE.c:
You might combine if at ll. 260 and 263 to one but it's just matter of test.
if (sti == baseStratumIndex || sti < 0) {
return; /* Java stratum - return unchanged */
}
I'm not sure what you mean. I tried to fix it, but please
double-check the new webrev.
if cnt is <= 0 loop at l.267
for (; cnt-- > 0; ++fromEntry) {
is never run and we effectively do
*entryCountPtr = 0;
at l.283
So if we you suspect that cnt may become negative or 0:
(your v.01 changes)
260 if (sti < 0 && cnt > 0) {
261 return;
262 }
it's better to check it early.
But I'm not sure we have to care about negative/zero cnt here.
-Dmitry
On 2016-12-07 11:37, Lindenmaier, Goetz wrote:
Hi Dmitry,
thanks for looking at my change!
Updated webrev:
http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.02
* src/java.base/unix/native/libjli/java_md_solinux.c
Is this line correct?
519 jvmpath = JLI_StringDup(jvmpath);
It seems pointless. Should I remove it? (The whole file is a horror.)
* src/jdk.jdwp.agent/share/native/libjdwp/SDE.c
It might be better to return immediately if cnt < 0,
regardless of value of sti.
I'm not sure what you mean. I tried to fix it, but please
double-check the new webrev.
* src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c
It might be better to write
arg.l_linger = (on) ? (unsigned short)value.i : 0;
and leave one copy of setsockopt() call
Yes, looks better.
Best regards,
Goetz
-Dmitry
On 2016-12-06 16:12, Lindenmaier, Goetz wrote:
Hi,
This change fixes some minor issues found in our code scans.
I hope this correctly addresses corelib and serviceability issues.
Please review:
http://cr.openjdk.java.net/~goetz/wr16/8170663-
corlib_s11y/webrev.01/
Best regards,
Goetz.
Changes in detail:
e_asin.c
Code scan reports missing {}.
The code "if (huge+x>one) {" is only there to set the inexact flag of
the processor.
It's a way to avoid the C compiler to optimize the code away. It is
always true,
so the parenthesis of the outer else don't matter.
Although this basically just adds the {} I would like to submit this to
avoid anybody else spends more the 30sec on understanding these
if statements.
k_standard.c
exc.retval is returned below and thus should always be initialized.
imageDecompressor.cpp
Wrong destructor is used. Reported also by David CARLIER
java.c
in line 1865 'name' was used, it should be 'alias'.
java_md_solinux.c
"//" in path is useless. Further down a free is missing.
SDE.c
Call to stratumTableIndex can return negative value if defaultStratumId
== null.
socket_md.c
arg.l_linger is passed to setsockopt uninitialized. Its use is hidden in
the macros.
unpack.cpp
n.slice should not get negative argument for end, which is passed from
dollar1.
But dollar1 can get negative where it is set to the result of
lastIndexOf(DOLLAR_MIN, DOLLAR_MAX, n, dollar2 - 1).
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.