vladimir.kozlov | 3 Jul 2008 03:20
Picon

hg: jdk7/hotspot-comp/hotspot: 10 new changesets

Changeset: a5838065ab24
Author:    swamyv
Date:      2008-06-24 21:37 -0700
URL:       http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a5838065ab24

6620329: jstack prints double native methods on Solaris/sparc
Summary: Fixed stack walking code in sparc to start frame walk from last_java_sp.
Reviewed-by: sgoldman

! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java
! agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_sparc/SolarisSPARCJavaThreadPDAccess.java
! agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCFrame.java
! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java

Changeset: 958ae9623fd9
Author:    never
Date:      2008-06-27 11:11 -0700
URL:       http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/958ae9623fd9

Merge

Changeset: 93435819dba2
Author:    xdono
Date:      2008-06-20 08:44 -0700
URL:       http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/93435819dba2

Added tag jdk7-b29 for changeset 4f91c08b3e44

! .hgtags
(Continue reading)

Vladimir Kozlov | 3 Jul 2008 22:11
Picon

Updated: Request for reviews (M): 6684714: Optimize EA Connection Graph build performance


http://webrev.invokedynamic.info/kvn/6684714/index.html

Fixed 6684714: Optimize EA Connection Graph build performance

Problem:
EA spends most time in Connection Graph construction which is done
during each method compilation since only after CG built it can
look for scalar replaceable candidates and create unique types
for fields instances or skip it if there are no such candidates.

Solution:
1. I am using this push to switch on Escape Analysis by default.

2. Build Connection Graph and execute Escape Analysis only
when Ideal graph has allocations and/or locks.
Use Compile::_macro_nodes worklist check for that.

3. Several accessors methods were optimized due to the fact that
no new ideal nodes should be created during Connection Graph build.

4. Removed experimental code in oopMap.

Note: I did experiments with growableArray optimizations and they
bring nothing to the current EA code performance.
I filed separate bug to investigate gA optimizations.

Reviewed by:
Fix verified (y/n): y

(Continue reading)

vladimir.kozlov | 4 Jul 2008 05:29
Picon

hg: jdk7/hotspot-comp/hotspot: 6684714: Optimize EA Connection Graph build performance

Changeset: 524eca34ea76
Author:    kvn
Date:      2008-07-03 18:02 -0700
URL:       http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/524eca34ea76

6684714: Optimize EA Connection Graph build performance
Summary: switch on EA by default, optimize Connection Graph construction
Reviewed-by: rasbold, never

! src/share/vm/compiler/oopMap.cpp
! src/share/vm/compiler/oopMap.hpp
! src/share/vm/opto/bytecodeInfo.cpp
! src/share/vm/opto/c2_globals.hpp
! src/share/vm/opto/compile.cpp
! src/share/vm/opto/escape.cpp
! src/share/vm/opto/escape.hpp

Keith McNeill | 8 Jul 2008 21:50
Favicon

hotspot JIT producing incorrect code -how should I report a bug?

Hotspot is producing incorrect code deep in the bowels of our system.  A 
simple example doesn't produce the problem. 

The code in question works as expected until the method is JITted.  
Using -XX:+PrintCompliation I can tell that once the method is compiled 
the method in question starts behaving incorrectly.  

I'd liked the bug to get fixed but I don't have a clue how to give you 
guys a reasonable bug report that would have enough information to 
enable the bug to be fixed.  I tried producing a simple example of the 
problem and that didn't produce the problem (I wasn't too surprised 
about that).

I could imagine that it would be useful to send you the .class file in 
question and the JITted code in question.  Is there anyway to get 
hotspot to dump the JITted code?  Or get hotspot to dump some state that 
would make it useful?  Is there some other way to get the information 
to  the correct people?

Thanks,

Keith

Vladimir Kozlov | 8 Jul 2008 23:27
Picon

Re: hotspot JIT producing incorrect code -how should I report a bug?

Keith,

First questions would be what HS version (-version or -Xinternalversion)
you are using and on what hardware/OS.

Then you can create file .hotspot_compiler in the directory where
VM is running and put the next instruction into it:

exclude class/subclass method

where class/subclass is full class name provided by +PrintCompliation,
for examle, java/lang/String.
It will exclude JIT compilation of the method so you can verify that
it causes the problem.

The next question is do you have access to a debug version of Hotspot VM?
It could print generated assembler for the method.
We can give it to you so you can try it but we need to know
hardware (x86/sparc), os (linux, win, solaris), 32 or 64-bits VM
(-version shows it).

Thanks,
Vladimir

Keith McNeill wrote:
> Hotspot is producing incorrect code deep in the bowels of our system.  A 
> simple example doesn't produce the problem.
> The code in question works as expected until the method is JITted.  
> Using -XX:+PrintCompliation I can tell that once the method is compiled 
> the method in question starts behaving incorrectly. 
(Continue reading)

Keith McNeill | 9 Jul 2008 02:56
Favicon

Re: hotspot JIT producing incorrect code -how should I report a bug?


Vladimir Kozlov wrote:
> Keith,
>
> First questions would be what HS version (-version or -Xinternalversion)
> you are using and on what hardware/OS.
java -Xinternalversion
Java HotSpot(TM) Server VM (10.0-b22) for linux-x86 JRE (1.6.0_06-b02), 
built on Mar 25 2008 00:26:44 by "java_re" with gcc 3.2.1-7a (J2SE release)

Note that the problem has occurred on every 1.6 jdk I've tried up to the 
latest 1.6.0_10 beta

The problem does not occur on JDK 1.5
>
> Then you can create file .hotspot_compiler in the directory where
> VM is running and put the next instruction into it:
>
> exclude class/subclass method
>
> where class/subclass is full class name provided by +PrintCompliation,
> for examle, java/lang/String.
> It will exclude JIT compilation of the method so you can verify that
> it causes the problem.
Tried that.  The problem does not happen when the method is excluded 
from JITing using the exclude keyword
>
> The next question is do you have access to a debug version of Hotspot VM?
No I don't.  But I would be happy to try it.

(Continue reading)

Ismael Juma | 10 Jul 2008 02:40
Picon

Re: hotspot JIT producing incorrect code -how should I report a bug?

Keith McNeill <mcneill <at> ...> writes:
> java -Xinternalversion
> Java HotSpot(TM) Server VM (10.0-b22) for linux-x86 JRE (1.6.0_06-b02), 
> built on Mar 25 2008 00:26:44 by "java_re" with gcc 3.2.1-7a (J2SE release)
> 
> Note that the problem has occurred on every 1.6 jdk I've tried up to the 
> latest 1.6.0_10 beta
> 
> The problem does not occur on JDK 1.5

Out of curiosity, does the problem occur with JDK6u3? There was a relatively
large HotSpot update in JDK6u4 and it introduced a few issues like 6614100[1]
and 6707044[2]. Note that the latter is not yet fixed and it is also a
miscompilation problem.

Regards,
Ismael

[1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100
[2] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6707044

Volker Simonis | 10 Jul 2008 19:04
Picon

Re: hg: jdk7/hotspot-comp/hotspot: 6604014: add support for ideal graph visualizer

Hi Tom,

I synced jdk7/hotspot-comp yesterday. I opened the NetBeans project
from hotspot/src/share/tools/IdealGraphVisualizer/nbproject and built
the IdealGraphVisualizer (I had to check "Libraries->platform8" in the
Project Settings because I used NB 6.1, but this was documented in he
README file).

Afterwards I built the HotSpot, started the IdealGraphVisualizer and
run the new HotSpot with "-XX:+PrintCompilation -Xcomp -Xbatch
-XX:PrintIdealGraphLevel=1". This gave me 62 compiled methods within
the visualizer.

After a first look, the tool looks great and everything  seems to work
fine. I'll have to study Thomas Würthinger's master thesis
(http://ssw.jku.at/Research/Papers/Wuerthinger07Master/Wuerthinger07Master.pdf)
now and start some experiments. I'll let you know if I have some
questions.

Regards,
Volker

On 6/24/08, Tom Rodriguez <Thomas.Rodriguez <at> sun.com> wrote:
> I just noticed that quite a few files are missing from this putback.
> Something appears to have gone wrong with the script I use for commits.  The
> rest of the files will be coming soon under a new bug id.
>
>  tom
>
>
(Continue reading)

Chuck Rasbold | 10 Jul 2008 23:34
Picon

Re: hotspot JIT producing incorrect code -how should I report a bug?

Ismael -

Thanks for bringing 6707044 to our attention. Is was previously misfiled in
the wrong subcategory. I'm looking into a diagnosis right now.

-- Chuck

Ismael Juma wrote:
> Keith McNeill <mcneill <at> ...> writes:
> 
>>java -Xinternalversion
>>Java HotSpot(TM) Server VM (10.0-b22) for linux-x86 JRE (1.6.0_06-b02), 
>>built on Mar 25 2008 00:26:44 by "java_re" with gcc 3.2.1-7a (J2SE release)
>>
>>Note that the problem has occurred on every 1.6 jdk I've tried up to the 
>>latest 1.6.0_10 beta
>>
>>The problem does not occur on JDK 1.5
> 
> 
> Out of curiosity, does the problem occur with JDK6u3? There was a relatively
> large HotSpot update in JDK6u4 and it introduced a few issues like 6614100[1]
> and 6707044[2]. Note that the latter is not yet fixed and it is also a
> miscompilation problem.
> 
> Regards,
> Ismael
> 
> [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6614100
> [2] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6707044
(Continue reading)

Ismael Juma | 11 Jul 2008 00:24
Picon

Re: hotspot JIT producing incorrect code -how should I report a bug?

Chuck Rasbold <Chuck.Rasbold <at> ...> writes:
> Thanks for bringing 6707044 to our attention. Is was previously misfiled in
> the wrong subcategory. I'm looking into a diagnosis right now.

Thanks for looking into it Chuck. It looks like a scary bug and it would be very
nice to get a fix.

Regards,
Ismael


Gmane