Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-04 Thread Yi Yang
On Fri, 4 Mar 2022 08:14:39 GMT, Ioi Lam  wrote:

> Numbers should be aligned to the right. The following is what I want:
> 
> ```
>   62
>  123
> 4567
> ```

Done.

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-04 Thread Ioi Lam
On Fri, 4 Mar 2022 07:24:51 GMT, Yi Yang  wrote:

>> You should change it to `%4d`. Otherwise, when the numbers are changed in 
>> the future (e.g., to 3 or 4 digits) they will be misaligned:
>> 
>> 
>> KlassAddr   Size  State FlagsClassName  
>> 0x000800df8400  62fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
>> 0x000800df8000  123   fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
>> 0x000800de4400  4567  fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800de4400
>
>> You should change it to `%4d`. Otherwise, when the numbers are changed in 
>> the future (e.g., to 3 or 4 digits) they will be misaligned:
>> 
>> ```
>> KlassAddr   Size  State FlagsClassName  
>> 0x000800df8400  62fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
>> 0x000800df8000  123   fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
>> 0x000800de4400  4567  fully_initialized W
>> java.lang.invoke.LambdaForm$DMH/0x000800de4400  
>> ```
> 
> This format looks pretty good to me, they are all aligned to left. If you 
> still think it's more proper to have a format like this:
> 
> KlassAddr   Size  State FlagsClassName  
> 0x000800df8400  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
> 0x000800df8000  123   fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
> 0x000800de4400  4567  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4400  
> 
> Then I'm glad to do so ;)

Numbers should be aligned to the right. The following is what I want:


  62
 123
4567

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread Yi Yang
On Fri, 4 Mar 2022 05:13:58 GMT, Ioi Lam  wrote:

> You should change it to `%4d`. Otherwise, when the numbers are changed in the 
> future (e.g., to 3 or 4 digits) they will be misaligned:
> 
> ```
> KlassAddr   Size  State FlagsClassName  
> 0x000800df8400  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
> 0x000800df8000  123   fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
> 0x000800de4400  4567  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4400  
> ```

This format looks pretty good to me, they are all aligned to left. If you still 
think it's more proper to have a format like this:

KlassAddr   Size  State FlagsClassName  
0x000800df8400  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8400  
0x000800df8000  123   fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8000  
0x000800de4400  4567  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4400  

Then I'm glad to do so ;)

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread Ioi Lam
On Fri, 4 Mar 2022 02:47:28 GMT, Yi Yang  wrote:

>> This issue seem still outstanding.
>
> Current:
> 
> $./jcmd 83908 VM.classes|head -10
> 83908:
> KlassAddr   Size  State FlagsClassName  
> 0x000800df8400  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
> 0x000800df8000  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
> 0x000800de4400  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4400  
> 0x000800de4000  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4000  
> 0x000800dc8800  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800dc8800  
> 0x000800dc8400  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800dc8400  
> 0x000800dc8000  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800dc8000  
> 0x000800db9800  62fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800db9800 
> 
> After using "%4d":
> 
> $./jcmd 75481 VM.classes|head
> 75481:
> KlassAddr   Size  State FlagsClassName  
> 0x000800df840062  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8400  
> 0x000800df800062  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800df8000  
> 0x000800de440062  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4400  
> 0x000800de400062  fully_initialized W
> java.lang.invoke.LambdaForm$DMH/0x000800de4000 
> 
> So we do not need to change this.

You should change it to `%4d`. Otherwise, when the numbers are changed in the 
future (e.g., to 3 or 4 digits) they will be misaligned:


KlassAddr   Size  State FlagsClassName  
0x000800df8400  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8400  
0x000800df8000  123   fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8000  
0x000800de4400  4567  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4400

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread David Holmes
On Fri, 4 Mar 2022 03:03:10 GMT, Yi Yang  wrote:

>> src/hotspot/share/services/diagnosticCommand.cpp line 964:
>> 
>>> 962:"Dump the detail content of Java class. "
>>> 963:"Some classes are annotated with flags: "
>>> 964:"F = has finializer method, "
>> 
>> typo finializer - but should be finalize
>> 
>> Is this actually only present for "non-trivial finalize" method?
>
> I'm not sure what's the meaning of "non-trivial finalize" method, can you 
> elaborate more for it?
> (P.S. All comments are addressed)

I mean a finalize() method that actually does something. I checked the code and 
you will print F is the current class has a non-empty finalize() method, or it 
has a superclass with a non-empty finalize method. I would suggest updating the 
text to:

`F = has, or inherits, a non-empty finalize method`

Thanks,
David

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread Yi Yang
On Fri, 4 Mar 2022 03:43:59 GMT, David Holmes  wrote:

>> I'm not sure what's the meaning of "non-trivial finalize" method, can you 
>> elaborate more for it?
>> (P.S. All comments are addressed)
>
> I mean a finalize() method that actually does something. I checked the code 
> and you will print F is the current class has a non-empty finalize() method, 
> or it has a superclass with a non-empty finalize method. I would suggest 
> updating the text to:
> 
> `F = has, or inherits, a non-empty finalize method`
> 
> Thanks,
> David

Done. This description is more clear compared to non-trivial finalize.

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread Yi Yang
On Fri, 11 Feb 2022 06:53:23 GMT, David Holmes  wrote:

>> Yi Yang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   fix
>
> src/hotspot/share/services/diagnosticCommand.cpp line 964:
> 
>> 962:"Dump the detail content of Java class. "
>> 963:"Some classes are annotated with flags: "
>> 964:"F = has finializer method, "
> 
> typo finializer - but should be finalize
> 
> Is this actually only present for "non-trivial finalize" method?

I'm not sure what's the meaning of "non-trivial finalize" method, can you 
elaborate more for it?
(P.S. All comments are addressed)

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-03-03 Thread Yi Yang
On Fri, 11 Feb 2022 06:49:25 GMT, David Holmes  wrote:

>> src/hotspot/share/oops/instanceKlass.cpp line 2081:
>> 
>>> 2079:   _st->print(INTPTR_FORMAT "  ", p2i(k));
>>> 2080:   // klass size
>>> 2081:   _st->print("%-4d  ", k->size());
>> 
>> Should be `%4d` so that the numbers are aligned correctly.
>
> This issue seem still outstanding.

Current:

$./jcmd 83908 VM.classes|head -10
83908:
KlassAddr   Size  State FlagsClassName  
0x000800df8400  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8400  
0x000800df8000  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8000  
0x000800de4400  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4400  
0x000800de4000  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4000  
0x000800dc8800  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800dc8800  
0x000800dc8400  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800dc8400  
0x000800dc8000  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800dc8000  
0x000800db9800  62fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800db9800 

After using "%4d":

$./jcmd 75481 VM.classes|head
75481:
KlassAddr   Size  State FlagsClassName  
0x000800df840062  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8400  
0x000800df800062  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800df8000  
0x000800de440062  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4400  
0x000800de400062  fully_initialized W
java.lang.invoke.LambdaForm$DMH/0x000800de4000 

So we do not need to change this.

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-02-10 Thread David Holmes
On Thu, 27 Jan 2022 16:00:54 GMT, Ioi Lam  wrote:

>> Yi Yang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   fix
>
> src/hotspot/share/oops/instanceKlass.cpp line 2081:
> 
>> 2079:   _st->print(INTPTR_FORMAT "  ", p2i(k));
>> 2080:   // klass size
>> 2081:   _st->print("%-4d  ", k->size());
> 
> Should be `%4d` so that the numbers are aligned correctly.

This issue seem still outstanding.

-

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-02-10 Thread David Holmes
On Thu, 27 Jan 2022 09:17:09 GMT, Yi Yang  wrote:

>> Add VM.classes to print details of all classes, output looks like:
>> 
>> 1. jcmd VM.classes
>> 
>> KlassAddr Size State Flags LoaderName ClassName
>> 0x000800c0b400 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400
>> 0x000800c0b000 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
>> 0x000800c0ac00 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0ac00
>> ...
>> 
>> 2. jcmd VM.classes verbose
>> 
>> KlassAddr Size State Flags LoaderName ClassName
>> 0x000800c0b400 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400 {0x000800c0b400}
>>  - instance size: 2
>>  - klass size: 62
>>  - access: final synchronized
>>  - state: inited
>>  - name: 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>>  - super: 'java/lang/Object'
>>  - sub:
>>  - arrays: NULL
>>  - methods: Array(0x7f620841f210)
>>  - method ordering: Array(0x000800a7e5a8)
>>  - default_methods: Array(0x)
>>  - local interfaces: Array(0x0008005af748)
>>  - trans. interfaces: Array(0x0008005af748)
>>  - constants: constant pool [41] {0x7f620841f030} for 
>> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400' cache=0x7f620841f380
>>  - class loader data: loader data: 0x7f61c804a690 of 'bootstrap' has a 
>> class holder
>>  - source file: 'LambdaForm$MH'
>>  - class annotations: Array(0x)
>>  - class type annotations: Array(0x)
>>  - field annotations: Array(0x)
>>  - field type annotations: Array(0x)
>>  - inner classes: Array(0x0008005af6d8)
>>  - nest members: Array(0x0008005af6d8)
>>  - permitted subclasses: Array(0x0008005af6d8)
>>  - java mirror: a 'java/lang/Class'{0x00011f4b3968} = 
>> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>>  - vtable length 5 (start addr: 0x000800c0b5b8)
>>  - itable length 2 (start addr: 0x000800c0b5e0)
>>  -  static fields (1 words):
>>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>>  -  non-static fields (0 words):
>>  - non-static oop maps:
>> 0x000800c0b000 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000 {0x000800c0b000}
>>  - instance size: 2
>>  - klass size: 62
>>  - access: final synchronized
>>  - state: inited
>>  - name: 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>>  - super: 'java/lang/Object'
>>  - sub:
>>  - arrays: NULL
>>  - methods: Array(0x7f620841ea68)
>>  - method ordering: Array(0x000800a7e5a8)
>>  - default_methods: Array(0x)
>>  - local interfaces: Array(0x0008005af748)
>>  - trans. interfaces: Array(0x0008005af748)
>>  - constants: constant pool [49] {0x7f620841e838} for 
>> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000' cache=0x7f620841ebe0
>>  - class loader data: loader data: 0x7f61c804a750 of 'bootstrap' has a 
>> class holder
>>  - source file: 'LambdaForm$DMH'
>>  - class annotations: Array(0x)
>>  - class type annotations: Array(0x)
>>  - field annotations: Array(0x)
>>  - field type annotations: Array(0x)
>>  - inner classes: Array(0x0008005af6d8)
>>  - nest members: Array(0x0008005af6d8)
>>  - permitted subclasses: Array(0x0008005af6d8)
>>  - java mirror: a 'java/lang/Class'{0x00011f4b0968} = 
>> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>>  - vtable length 5 (start addr: 0x000800c0b1b8)
>>  - itable length 2 (start addr: 0x000800c0b1e0)
>>  -  static fields (1 words):
>>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>>  -  non-static fields (0 words):
>> ...
>
> Yi Yang has updated the pull request incrementally with one additional commit 
> since the last revision:
> 
>   fix

Hi Yi,

I had been expecting to see further updates as not all issues seem resolved. I 
have a few further typos and nits below. But I'd like to see someone from 
serviceability actually approve this.

Thanks,
David

src/hotspot/share/services/diagnosticCommand.cpp line 962:

> 960:  DCmdWithParser(output, heap),
> 961:   _verbose("-verbose",
> 962:"Dump the detail content of Java class. "

s/detail/detailed/
s/of/of a/

src/hotspot/share/services/diagnosticCommand.cpp line 964:

> 962:"Dump the detail content of Java class. "
> 963:"Some classes are annotated with flags: "
> 964:"F = has finializer method, "

typo finializer - but should be finalize

Is this actually only present for "non-trivial finalize" method?

src/hotspot/share/services/diagnosticCommand.cpp line 966:

> 964:"F = has finializer method, "
> 965:"f = has final method, "
> 966: 

Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-01-27 Thread Ioi Lam
On Thu, 27 Jan 2022 09:17:09 GMT, Yi Yang  wrote:

>> Add VM.classes to print details of all classes, output looks like:
>> 
>> 1. jcmd VM.classes
>> 
>> KlassAddr Size State Flags LoaderName ClassName
>> 0x000800c0b400 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400
>> 0x000800c0b000 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
>> 0x000800c0ac00 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0ac00
>> ...
>> 
>> 2. jcmd VM.classes verbose
>> 
>> KlassAddr Size State Flags LoaderName ClassName
>> 0x000800c0b400 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400
>> java.lang.invoke.LambdaForm$MH/0x000800c0b400 {0x000800c0b400}
>>  - instance size: 2
>>  - klass size: 62
>>  - access: final synchronized
>>  - state: inited
>>  - name: 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>>  - super: 'java/lang/Object'
>>  - sub:
>>  - arrays: NULL
>>  - methods: Array(0x7f620841f210)
>>  - method ordering: Array(0x000800a7e5a8)
>>  - default_methods: Array(0x)
>>  - local interfaces: Array(0x0008005af748)
>>  - trans. interfaces: Array(0x0008005af748)
>>  - constants: constant pool [41] {0x7f620841f030} for 
>> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400' cache=0x7f620841f380
>>  - class loader data: loader data: 0x7f61c804a690 of 'bootstrap' has a 
>> class holder
>>  - source file: 'LambdaForm$MH'
>>  - class annotations: Array(0x)
>>  - class type annotations: Array(0x)
>>  - field annotations: Array(0x)
>>  - field type annotations: Array(0x)
>>  - inner classes: Array(0x0008005af6d8)
>>  - nest members: Array(0x0008005af6d8)
>>  - permitted subclasses: Array(0x0008005af6d8)
>>  - java mirror: a 'java/lang/Class'{0x00011f4b3968} = 
>> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>>  - vtable length 5 (start addr: 0x000800c0b5b8)
>>  - itable length 2 (start addr: 0x000800c0b5e0)
>>  -  static fields (1 words):
>>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>>  -  non-static fields (0 words):
>>  - non-static oop maps:
>> 0x000800c0b000 62 inited W bootstrap 
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
>> java.lang.invoke.LambdaForm$DMH/0x000800c0b000 {0x000800c0b000}
>>  - instance size: 2
>>  - klass size: 62
>>  - access: final synchronized
>>  - state: inited
>>  - name: 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>>  - super: 'java/lang/Object'
>>  - sub:
>>  - arrays: NULL
>>  - methods: Array(0x7f620841ea68)
>>  - method ordering: Array(0x000800a7e5a8)
>>  - default_methods: Array(0x)
>>  - local interfaces: Array(0x0008005af748)
>>  - trans. interfaces: Array(0x0008005af748)
>>  - constants: constant pool [49] {0x7f620841e838} for 
>> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000' cache=0x7f620841ebe0
>>  - class loader data: loader data: 0x7f61c804a750 of 'bootstrap' has a 
>> class holder
>>  - source file: 'LambdaForm$DMH'
>>  - class annotations: Array(0x)
>>  - class type annotations: Array(0x)
>>  - field annotations: Array(0x)
>>  - field type annotations: Array(0x)
>>  - inner classes: Array(0x0008005af6d8)
>>  - nest members: Array(0x0008005af6d8)
>>  - permitted subclasses: Array(0x0008005af6d8)
>>  - java mirror: a 'java/lang/Class'{0x00011f4b0968} = 
>> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>>  - vtable length 5 (start addr: 0x000800c0b1b8)
>>  - itable length 2 (start addr: 0x000800c0b1e0)
>>  -  static fields (1 words):
>>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>>  -  non-static fields (0 words):
>> ...
>
> Yi Yang has updated the pull request incrementally with one additional commit 
> since the last revision:
> 
>   fix

LGTM. One minor nit,

Could you update the PR description to include examples of the final output 
format.

src/hotspot/share/oops/instanceKlass.cpp line 2081:

> 2079:   _st->print(INTPTR_FORMAT "  ", p2i(k));
> 2080:   // klass size
> 2081:   _st->print("%-4d  ", k->size());

Should be `%4d` so that the numbers are aligned correctly.

-

Marked as reviewed by iklam (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/7105


Re: RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

2022-01-27 Thread Yi Yang
> Add VM.classes to print details of all classes, output looks like:
> 
> 1. jcmd VM.classes
> 
> KlassAddr Size State Flags LoaderName ClassName
> 0x000800c0b400 62 inited W bootstrap 
> java.lang.invoke.LambdaForm$MH/0x000800c0b400
> 0x000800c0b000 62 inited W bootstrap 
> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
> 0x000800c0ac00 62 inited W bootstrap 
> java.lang.invoke.LambdaForm$MH/0x000800c0ac00
> ...
> 
> 2. jcmd VM.classes verbose
> 
> KlassAddr Size State Flags LoaderName ClassName
> 0x000800c0b400 62 inited W bootstrap 
> java.lang.invoke.LambdaForm$MH/0x000800c0b400
> java.lang.invoke.LambdaForm$MH/0x000800c0b400 {0x000800c0b400}
>  - instance size: 2
>  - klass size: 62
>  - access: final synchronized
>  - state: inited
>  - name: 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>  - super: 'java/lang/Object'
>  - sub:
>  - arrays: NULL
>  - methods: Array(0x7f620841f210)
>  - method ordering: Array(0x000800a7e5a8)
>  - default_methods: Array(0x)
>  - local interfaces: Array(0x0008005af748)
>  - trans. interfaces: Array(0x0008005af748)
>  - constants: constant pool [41] {0x7f620841f030} for 
> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400' cache=0x7f620841f380
>  - class loader data: loader data: 0x7f61c804a690 of 'bootstrap' has a 
> class holder
>  - source file: 'LambdaForm$MH'
>  - class annotations: Array(0x)
>  - class type annotations: Array(0x)
>  - field annotations: Array(0x)
>  - field type annotations: Array(0x)
>  - inner classes: Array(0x0008005af6d8)
>  - nest members: Array(0x0008005af6d8)
>  - permitted subclasses: Array(0x0008005af6d8)
>  - java mirror: a 'java/lang/Class'{0x00011f4b3968} = 
> 'java/lang/invoke/LambdaForm$MH+0x000800c0b400'
>  - vtable length 5 (start addr: 0x000800c0b5b8)
>  - itable length 2 (start addr: 0x000800c0b5e0)
>  -  static fields (1 words):
>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>  -  non-static fields (0 words):
>  - non-static oop maps:
> 0x000800c0b000 62 inited W bootstrap 
> java.lang.invoke.LambdaForm$DMH/0x000800c0b000
> java.lang.invoke.LambdaForm$DMH/0x000800c0b000 {0x000800c0b000}
>  - instance size: 2
>  - klass size: 62
>  - access: final synchronized
>  - state: inited
>  - name: 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>  - super: 'java/lang/Object'
>  - sub:
>  - arrays: NULL
>  - methods: Array(0x7f620841ea68)
>  - method ordering: Array(0x000800a7e5a8)
>  - default_methods: Array(0x)
>  - local interfaces: Array(0x0008005af748)
>  - trans. interfaces: Array(0x0008005af748)
>  - constants: constant pool [49] {0x7f620841e838} for 
> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000' cache=0x7f620841ebe0
>  - class loader data: loader data: 0x7f61c804a750 of 'bootstrap' has a 
> class holder
>  - source file: 'LambdaForm$DMH'
>  - class annotations: Array(0x)
>  - class type annotations: Array(0x)
>  - field annotations: Array(0x)
>  - field type annotations: Array(0x)
>  - inner classes: Array(0x0008005af6d8)
>  - nest members: Array(0x0008005af6d8)
>  - permitted subclasses: Array(0x0008005af6d8)
>  - java mirror: a 'java/lang/Class'{0x00011f4b0968} = 
> 'java/lang/invoke/LambdaForm$DMH+0x000800c0b000'
>  - vtable length 5 (start addr: 0x000800c0b1b8)
>  - itable length 2 (start addr: 0x000800c0b1e0)
>  -  static fields (1 words):
>  - static final '_D_0' 'Ljava/lang/invoke/LambdaForm;' @112
>  -  non-static fields (0 words):
> ...

Yi Yang has updated the pull request incrementally with one additional commit 
since the last revision:

  fix

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/7105/files
  - new: https://git.openjdk.java.net/jdk/pull/7105/files/b4da2ddc..4d2538be

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=7105=05
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=7105=04-05

  Stats: 12 lines in 3 files changed: 6 ins; 4 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7105.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7105/head:pull/7105

PR: https://git.openjdk.java.net/jdk/pull/7105