On Mon, 25 Nov 2024 16:01:43 GMT, Maurizio Cimadamore <[email protected]>
wrote:
> > > Add code header for only -l case?
>
> I also like this option, because it maintains the "nesting" of attributes -
> e.g. the main thing here is that LNT and LVT are attributes of Code, so they
> should be nested in there. One option could be to report the general number
> of opcodes in the Code attribute, if no `-c` is provided (so that at least
> that can be used as a guidance for interpreting the other attributes).
Do you mean comething as simple as this just counting the number of
instructions?
### `javap -l EmptyLoop`
Compiled from "EmptyLoop.java"
public class EmptyLoop {
public EmptyLoop();
Code:
Opcode count: 3
LineNumberTable:
line 1: 0
public void emptyLoop();
Code:
Opcode count: 8
LineNumberTable:
line 3: 0
line 5: 14
}
<details>
<summary>With code for context: `javap -l -c EmptyLoop`</summary>
Compiled from "EmptyLoop.java"
public class EmptyLoop {
public EmptyLoop();
Code:
0: aload_0
1: invokespecial #1 // Method
java/lang/Object."<init>":()V
4: return
LineNumberTable:
line 1: 0
public void emptyLoop();
Code:
0: iconst_0
1: istore_1
2: iload_1
3: bipush 10
5: if_icmpge 14
8: iinc 1, 1
11: goto 2
14: return
LineNumberTable:
line 3: 0
line 5: 14
}
</details>
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22359#issuecomment-2500067046