Clemens Eisserer wrote:
Hello again,
jdk/test/java/util/zip/FlaterTest.java can be used to compare different JVMs;
I'm sorry but I don't think we have a better test. See also the code in
6364346 and/or 6507183.
Sorry if that sounds a bit dumb, how can I access
jdk/test/java/util/zip/FlaterTest.java?
I rewrote the native method a bit (because I thought it was messy), so
I am afraid I destoyed some cases - are there also correctness
testcases?
Sorry: presuming you got the code via hg.openjdk.java.net, from e.g.
jdk/tl/jdk, the test (and other zip tests) are in
test/java/util/zip
They're jtreg tests; you can run them using jtreg by hand, or by using the
"jarzip" NetBeans project:
openjdk.java.net/jtreg
openjdk.java.net/groups/nb-projects
I don't see a block in the ArrayRegion functions (a little surprisingly):
hotspot/src/share/vm/prims/jni.cpp
(Search for just "arrayregion"). Compare the array region function body with
the primitivearraycritical function body; the latter obviously interacts with
GC.
I am no expert, but doesn't each jni-function block the jvm, like a
synchronized modifier in java? I thought for this are
JNI_ENTRY/JNI_END macros?
I can be wrong of course, its just a guess.
I suppose, but didn't find the definitions of those (yet).
Dave
I'm no expert here! See 6186200's discussion of GC & critical sections.
Thanks a lot, very interesting :)
lg Clemens
Btw. No need to stress or hurry, its just a "holiday-fun-bugfix"