detail.php
OW2 Forge: Detail: 316481 ASM 5.0-alpha: Initial Frame Position // Duplicate Frame?

Advanced - Powered by Google


   
Log In
New Account
  
 
Home
My Page
Project Tree
Project Openings
ASM
          
 
 
Summary
Tracker
Lists
News
CVS
Files
SVN
              
 

Tracker: Bugs

Submit New | Browse | Admin | ExportToXml

[ #316481 ] ASM 5.0-alpha: Initial Frame Position // Duplicate Frame?

Date:
2013-07-08 19:13
Priority:
5
Submitted By:
Marc Hoffmann (marchof)
Assigned To:
Nobody (None)
Category:
None
State:
Closed
Summary:
ASM 5.0-alpha: Initial Frame Position // Duplicate Frame?

Detailed description:
ASM 5.0-alpha has changed the behavior regarding the initial frame. The following method requires a frame at the very beginning, as the first label is a jump target: void loop() { do { System.out.println("Hello"); } while (true); } With ASM 4.1 this class results in the following events when read with EXPAND_FRAMES: loop()V L0 LINENUMBER 12 L0 FRAME FULL [FrameDump] [] GETSTATIC java/lang/System.out : Ljava/io/PrintStream; LDC "Hello" INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L1 LINENUMBER 13 L1 GOTO L0 With ASM 5.0-alpha we now get a duplicate frame (probably as the implicit initial frame is also emitted): loop()V L0 LINENUMBER 12 L0 FRAME FULL [FrameDump] [] FRAME FULL [FrameDump] [] GETSTATIC java/lang/System.out : Ljava/io/PrintStream; LDC "Hello" INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V L1 LINENUMBER 13 L1 GOTO L0 My problem is that the initial implicit frame is emitted after the jump label. In our case we need to insert code at the very beginning of every method and modify all subsequent frames to reflect an additional local variable. So this means our initialization code has to be inserted after the initial frame but before the first label -- otherwise the initialization code would be executed within the loop. I'm not sure whether the new initial frame behavior is by design or it is a bug. Also if it is by design I'm not sure how to resolve the contradiction described above.

Add A Comment:

Please login

Followup

Message
Date: 2013-07-14 16:27
Sender: marchof
Logged In: YES 
user_id=35194

I managed to build ASM from SVN. With the latest revision my
issue is fixed. Many thanks again!
Date: 2013-07-14 10:08
Sender: marchof
Logged In: YES 
user_id=35194

Many thanks for the fix! Can we get an updated download or
are there SNAPSHOT builds available?
Date: 2013-07-13 14:33
Sender: ebruneton
Logged In: YES 
user_id=128

The difference is not intentional. It was due to changes
made to the trunk but not the ASM 5 branch. I ported the
changes made to the trunk since the branch was created, this
should fix the problem.

Attached Files:

Name Description Download
FrameDump.java Download

Changes:

Resource id #66listtable
close_date close_date status_id resolution_id close_date File Added
Field Old Value Date By
close_date2013-07-14 16:272013-07-14 16:27marchof
close_date2013-07-14 10:082013-07-14 10:08marchof
status_idOpen2013-07-13 14:33ebruneton
resolution_idNone2013-07-13 14:33ebruneton
close_date2013-07-13 14:332013-07-13 14:33ebruneton
File Added2510: FrameDump.java2013-07-08 19:13marchof

Copyright © 1999-2008, OW2 Consortium | contact | You've got a problem ? Please report an issue using your OW2 forge account credentials