Bug 240349 - Improve disassembler output
Summary: Improve disassembler output
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.4   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.5 M1   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-10 11:15 EDT by Olivier Thomann CLA
Modified: 2008-08-06 12:45 EDT (History)
1 user (show)

See Also:


Attachments
Proposed fix + updated regression tests (20.69 KB, patch)
2008-07-10 11:16 EDT, Olivier Thomann CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olivier Thomann CLA 2008-07-10 11:15:16 EDT
When synthetic arguments are used or the code is compiled without local variable table, the disassembler doesn't specify what local is loaded on the stack.

For example, we display:
// Method descriptor #21 (IIIIDDJI)V
  // Stack: 5, Locals: 12
  public void foo(int arg0, int arg1, int arg2, int arg3, double arg4, double arg5, long arg6, int arg7);
     0  getstatic System.out : PrintStream [22]
     3  lload 9
     5  iload 11
     7  i2l
     8  ladd
     9  invokevirtual PrintStream.println(long) : void [28]
    12  return

instead of:
// Method descriptor #21 (IIIIDDJI)V
  // Stack: 5, Locals: 12
  public void foo(int arg0, int arg1, int arg2, int arg3, double arg4, double arg5, long arg6, int arg7);
     0  getstatic System.out : PrintStream [22]
     3  lload 9 [arg6]
     5  iload 11 [arg7]
     7  i2l
     8  ladd
     9  invokevirtual PrintStream.println(long) : void [28]
    12  return
Comment 1 Olivier Thomann CLA 2008-07-10 11:16:22 EDT
Created attachment 107087 [details]
Proposed fix + updated regression tests
Comment 2 Olivier Thomann CLA 2008-07-10 11:43:40 EDT
Released for 3.5M1.
Comment 3 Kent Johnson CLA 2008-08-06 12:45:37 EDT
Verified for 3.5M1 using I20080805-1307