On Mon, 25 Nov 2024 16:01:43 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> 
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

Reply via email to